1999-09-14 Tor Lillqvist <tml@iki.fi>
* app/brush_select.c: Include config.h, guard inclusion of
<unistd.h>.
* app/gimpcontextpreview.c: Include config.h, <string.h> and
appenv.h.
* app/xinput_airbrush.c: Include config.h, <stdio.h>, appenv.h and
libgimp/gimpmath.h. Use G_PI.
* app/makefile.{cygwin,msc}: Updates.
* plug-ins/makefile.{cygwin,msc}: Add the unofficial sel_gauss
plug-in. Add new object files for FractalExplorer and
gimpressionist.
* plug-ins/common/iwarp.c (iwarp_deform): Combine two loops over
the same xi, yi area into one. Remove the then actually unused
deform_area_vectors array. Only one element of the array was used
for each x,yi loop.
* plug-ins/common/sparkle.c: Don't include <math.h>,
libgimp/gimpmath.h includes it. Use G_PI.
* plug-ins/sel2path/global.h
* plug-ins/sel2path/math.c
* plug-ins/sel2path/vector.c: s/acosd/my_acosd/ since some platforms
seem to have this function in the native libm
* plug-ins/script-fu/scripts/xach-effect.scm: remove stale debugging
line
* app/guides_cmds.c
* app/tools_cmds.c: changes from below
-Yosh
Sat Sep 11 22:45:12 BST 1999 Andy Thomas <alt@gimp.org>
* app/nav_window.c
* app/floating_sel.c
Hopefully fix for nav_popup when using tablets.
Also applied the patch supplied by Garry R. Osgood. Thanks.
Sat Sep 4 23:21:10 BST 1999 Andy Thomas <alt@gimp.org>
* app/gdisplay.c
* app/gdisplay.h
* app/gimprc.h
* app/gimprc.c
* app/nav_window.c
* app/nav_window.h
* app/preferences_dialog.c
The nav preview size can now be configured. The size applies
to both the "popup" and dialog window.
Fri Sep 3 22:52:26 BST 1999 Andy Thomas <alt@gimp.org>
* app/curves.c
* app/curves.h
Added indicators (x,y of mouse & x for the line) to the curves
dialog.
* app/gtkvwrapbox.[ch]: new vwrapbox stuff
* app/Makefile.am: added new files
* app/interface.c: place the indicator areas in a vwrapbox. Still
kinda screwy tho.
-Yosh
1999-09-02 Tor Lillqvist <tml@iki.fi>
* plug-ins/script-fu/interp_sliba.c (lreadstring): Accept what
g_strescape throws at us (specifically, octal sequences that start
with any octal digit, and are at most three octal digits long).
* app/makefile.{cygwin,msc}: Update.
* app/gtkhwrapbox.[ch]
* app/gtkwrapbox.[ch]: sync from gle
* app/inteface.c: set allow_shrink on the toolbox window, use
gtk_hwrap_box_new
* app/blend.c: use shift to constrain to 45 deg: XachCode (tm)
-Yosh
* app/app_procs.c: free the brush dialog before freeing the brushes.
* app/blend.c, app/bucket_fill.c: don't include brush_select.h
* app/brush_select.[ch]: add the ability to delete generated brushes.
* app/gimpbrushgenerated.c: save the brush parameters on seperate lines.
* app/gimpbrushlist.c: make sure we don't overwrite other brush
files when saving newly created brushes.
* libgimp/Makefile.am: add gimpmath.h
* app/gtkwrapbox.[ch]
* app/gtkhwrapbox.[ch]: wrapbox widget from gle
* app/Makefile.am: added those files
* app/interface.c: use an hwrapbox for the toolbar. Still not perfect
yet, working on it.
* app/gimpdrawable.c
* app/about_dialog.c
* app/airbrush.c
* app/blend.c: some minor code cleanup
-Yosh
1999-09-02 Tor Lillqvist <tml@iki.fi>
* app/paintbrush.c (paintbrush_non_gui_default,
paintbrush_non_gui): Make also the non-gui paintbrush (called when
stroking a path) handle changing brushes, i.e. pixmap brush pipes.
1999-09-02 Tor Lillqvist <tml@iki.fi>
* libgimp/parasiteio.[ch]: New files. Types and functions related
to "standard" parasite types. Used for the
gimp-brush-pipe-parameters parasite that the gpb and psp plug-ins
handle, and the value of which is stored in gih files, from
which gimpbrushpipe.c parses it.
* libgimp/{Makefile.am,makefile.{cygwin,msc}}: Add new files.
* libgimp/gimp.def: Add its entry points.
* libgimp/gimp.h: Fix cosmetic argument name error.
* app/gimpbrushpipe.c: Remove code that previously
was copied here, use functions from parasiteio.c.
* plug-ins/common/gpb.c: Ditto. Add brush cell width and height
fields to the gih save dialog. Add cleverness to update rows and
columns as cell size is changes. (Still too easy for the user to
get confused, though.) Display corresponding guide grid on the
image. Unfortunately updating the guidelines doesn't seem to work.
* plug-ins/common/psp.c: Use functions from parasiteio.c.
Wed Sep 1 23:18:21 BST 1999 Andy Thomas <alt@gimp.org>
* app/gdisplay.c
* app/gdisplay.h
* app/interface.c
* app/nav_window.c
* app/nav_window.h
* pixmap/navbutton.xpm (new)
New popup navigation window. press the icon that appears in
the bottom right-hand corner of the image display. A navigation
window will appear that will allow you to scroll around the image if
the area shown is smaller than the overall image size. Thanks to tml
for the idea.
1999-09-01 Tor Lillqvist <tml@iki.fi>
* app/appenv.h
* libgimp/gimpmath.h: New file. Includes <math.h>. Move G_PI,
RINT(), ROUND() etc from app/appenv.h here, so plug-ins can
use them, too. Remove some commented-out old stuff in appenv.h.
* libgimp/gimp.h: Include gimpmath.h.
* libgimp/gimp.c (gimp_main): Win32: Don't install signal
handlers, we can't do anything useful in the handler ourselves
anyway (it would be nice to print out a backtrace, but that seems
pretty hard to do, even if not impossible). Let Windows inform the
user about the crash. If the plug-in was compiled with MSVC, and
the user also has it, she is offered a chance to start the
debugger automatically anyway.
* app/*several*.c: Include gimpmath.h for G_PI etc. Don't include
<math.h>, as gimpmath.h includes it.
* plug-ins/*/*many*.c: Include config.h. Don't include <math.h>.
Remove all the duplicated definitions of G_PI and rint(). Use
RINT() instead of rint().
* app/app_procs.[ch]: app_exit() takes a gboolean.
* app/batch.c
* app/commands.c
* app/interface.c: Call app_exit() with FALSE or TRUE.
* app/main.c (on_error): Call gimp_fatal_error. (main): Don't
install any signal handler on Win32 here, either.
* app/errors.c (gimp_fatal_error, gimp_terminate): Win32: Format
the message and call MessageBox with it. g_on_error_query doesn't
do anything useful on Win32, and printf'ing a message to stdout or
stderr doesn't do anything, either, in a windowing application.
* tools/pdbgen/pdb/fileops.pdb
* app/fileops_cmds.c: applied the patch from Wolfgang Hofer that
should fix the problems saving jpeg with GAP.
* app/paint_core.[ch]: preview length of brush-stroke in statusbar
when drawing a line using <Shift>. Do we need the angle here too??
--Sven
Wed Sep 1 00:56:37 EDT 1999 Adrian Likins <adrian@gimp.org>
* app/gimpbrushpip.[ch]
* app/airbrush.c
* app/pencil.c
* app/paintbrush.c: fix pencil tool for use with
pixmaps again
1999-09-01 Tor Lillqvist <tml@iki.fi>
* app/tile_swap.c (tile_swap_open): Use _O_TEMPORARY. Removed
#ifdef, instead define the Win32-only _O_BINARY and _O_TEMPORARY
as zero if not defined.
* plug-ins/common/spheredesigner.c: Include config.h (#if
HAVE_CONFIG_H). RAND_FUNC and SRAND_FUNC are defined in that.
Tue Aug 31 01:13:13 EDT 1999 Adrian Likins <alikins@redhat.com>
* app/pencil.c: add a "Use Pressure" check button to the options
so that pressure sensitivy can be disabled. Suggested by
Tuomas Kuosmanen <tigert@gimp.org>.
* app/apptypes.h
* app/pathsP.h: removed trailing enum commas
* app/gdisplay_color.[ch]: added a foreach function to iterate
over the display filter names
* app/gdisplay_color_ui.[ch]: display filter ui stuff (doesn't do
much yet ;)
* app/commands.[ch]
* app/menus.c: hooked the above into the menu system
* app/Makefile.am: added new files
* plug-ins/gimpressionist/preview.c: removed bogus // comment
-Yosh
1999-08-30 Tor Lillqvist <tml@iki.fi>
* app/gimpbrush.h (GimpBrushClass): Add a new method, gboolean
want_null_motion(), that tells if the brush wants to be painted
when we don't know the direction yet. This is needed (so far) by
brush pipes that select the brush based on direction.
* app/gimpbrush.c: Implement above method returning always TRUE.
* app/gimpbrushpipe.c: Here, implement it returning FALSE or TRUE
on whether the brush pipe has any angular (direction) dependent
dimension or not.
* app/paint_core.c (paint_core_button_press): Call the method
if current point == last point.
1999-08-30 Tor Lillqvist <tml@iki.fi>
* app/gimpbrushgenerated.c (gimp_brush_generated_save): Save the
name on a line of its own as it can contain spaces. Print spaces
between the floating-point values. (gimp_brush_generated_load)
Corrspondingly, read the name from a line of its own.
* app/gimpbrushlist.c (brushes_free): Portability fixes. Use
g_strconcat. Free allocated strings.
Mon Aug 30 22:15:29 MEST 1999 Sven Neumann <sven@gimp.org>
* app/devices.c: use the new [gimp|pattern]_preview_widgets.
* plug-ins/xjt/xjt.c: correct a gccism
--Sven
* app/brush_edit.[ch]: Allow the user to change a brush's name.
* app/gimpbrushlist.[ch] * app/gimprc.[ch]: ported Calvin
Williamson's brush saving code from the hollywood branch.
* app/preferences_dialog.c: add the brush_vbr_path
* data/brushes/round1.vbr: removed. You should remove this file
from your system if you have installed previous versions.
Sun Aug 29 17:54:58 BST 1999 Adam D. Moss <adam@gimp.org>
* app/convert.c: *->I: Deterministic colour dithering
to arbitrary palettes. Ideal for animations that are
going to be delta-optimized or simply don't want to look
'busy' in static areas. Also a bunch of bugfixes and tweaks.
No PDB interface to the new features yet, although a
convert_image2() is ready and waiting.
Sun Aug 29 00:40:20 BST 1999 Adam D. Moss <adam@gimp.org>
* app/convert.h
* app/convert.c: *->I: Deterministic alpha dithering over layers,
reduced bleeding of transparent values into opaque values, added
optional stage to remove duplicate or unused colour entries from final
colourmap.
1999-08-28 Tor Lillqvist <tml@iki.fi>
* libgimp/gimp.c (gimp_main): Put in a workaround for the problem
with plug-ins on NT and W2K, where installing the GIMP under a
directory path with spaces (\Program Files\GIMP) would cause the
plug-ins to malfunction. Turns out the argv gets set up by the C
runtime incorrectly in such a case, the path name of the
executable is split at the spaces. The workaround is to splice
argv[0] together from the pieces again, shifting the rest of argv
down.
* app/plug_in.c (plug_in_open): Correct (harmless) typo in the
Win32 code.
* plug-ins/common/winclipboard.c: Put the pasting of a new image
under File/Acquire.
1999-08-28 Tor Lillqvist <tml@iki.fi>
* app/gimpbrushpipe.c (gimp_brush_pixmap_select_brush): In the
case of angular selection, offset angle with G_PI/2 to be
compatible with PSP tubes. Restrict the index of each dimension
separately to the appropriate range.
* plug-ins/common/gpb.c (gih_save_dialog): Must not free the combo
box string list, the strings are not strdup'ed by the combo box.
1999-08-28 Tor Lillqvist <tml@iki.fi>
* app/gimpbrushpipe.c: Implement the selection of brush based on
cursor direction, pressure, tilt, or a random value. (Hmm, forgot
velocity, later.) (In addition to just incrementally stepping.)
Read the brush pipe parameters from the gih file's second line.
There is no way to tune the parameters in the GIMP, they must
currently be set when saving the gih file (in the gpb plug-in).
* app/gimpbrushpipe.h
* app/gimpbrushpipeP.h: Move the PipeSelectModes enum to the
"private" header. Add a stride array to GimpBrushPipe to make
indexing easier.
* plug-ins/common/gpb.c: Add selection mode fields to the dialog.
Attach the pipe parameters entered as a parasite, too.
* docs/parasites.txt
* plug-ins/common/psp.c: Use "placement", not "spacing" (which
means another thing).
Fri Aug 27 18:57:50 BST 1999 Andy Thomas <alt@gimp.org>
* app/nav_window.c
* app/nav_window.h
* app/gimppreviewcache.h
* app/layer.c
* app/channel.c
* app/commands.c
Added some controls to the nav window. Yep. I know that the
buttons are toooo biGGG.
Preview cache changes. Now prime preview cache with a image
so that later we have a better chance of a hit. Still
needs to be more intelligent at doing this (needs to pick largest
out of the cache & use its size as the size to prime with).
Fri Aug 27 02:16:02 EDT 1999 Adrian Likins <alikins@redhat.com>
* app/gimpbrushpipe.c: paint_line_pixmap_mask, finally
composite alpha correctly, or at least closer. Should
get rid of those annoying artifacts.
* libgimp/Makefile.am: use AM_CPPFLAGS instead of CPPFLAGS
* app/levels.c: added some basic load/save functionality to the levels
tool. Still needs some polishing.
-Yosh
1999-08-27 Tor Lillqvist <tml@iki.fi>
* app/menus.c: Add Acquire under the File menu.
* plug-ins/twain: New (Windows-only) plug-in. Interface to TWAIN
image sources. Written by Craig Setera.
* plug-ins/Makefile.am: Add twain sources to EXTRA_DIST.
* plug-ins/makefile.{cygwin,msc}: Move gimpressionist and twain
around as they are in this directory now.
* plug-ins/common/screenshot.c
* plug-ins/winsnap/winsnap.c
* plug-ins/twain/twain.c: Put them under File/Acquire.
1999-08-27 Tor Lillqvist <tml@iki.fi>
* app/paint_core.h: Add a flags field and corresponding type
ToolFlags to PaintCore. The only flag bit defined so far is
TOOL_CAN_HANDLE_CHANGING_BRUSH, which those tools who don't mind
if the brush changes while painting (as in the case of pixmap pipe
brushes).
* app/paint_core.c: Test above flag before calling the brush's
select_brush method.
* app/airbrush.c
* app/paintbrush.c
* app/pencil.c: Set above flag.
* app/makefile.{cygwin,msc}: Add latest additions.
Wed Aug 25 02:40:39 CDT 1999 Shawn T. Amundson <amundson@gimp.org>
* app/image_new.[ch]: Added new files, the UI independant part of
new image dialog.
* app/file_new_dialog.[ch]: uses image_new stuff now. Alot
changed. No UI changed. Different behavior is a bug, as
this is only for UI separation.
* app/gimpimage.[ch]: Added gimp_image_get_width () and
gimp_image_get_height ().
* app/global_edit.c: Call a function in image_new instead of
file_new_dialog for updating the status of the cut buffe.
brush tool any longer. The paintbrush, airbrush and pencil
tools, which already knew how to handle the single-pixmap
brushes now also handle the pipes as well.
* app/pixmapbrush.{h,c}
* app/gimpbrushpixmap.{h,c}: Removed these files.
* app/Makefile.am
* app/makefile.{cygwin,msc}: Remove from here, too.
* app/gimpbrushpipe.{h,c}: Total overhaul.
* app/paint_core.h
* app/apptypes.h: Some more types moved to apptypes.h
* app/context_manager.c
* app/tool_options.c
* app/tools.c
* app/toolsF.h: Remove PIXMAPBRUSH tool.
* app/gimpbrush.h: New method: select_brush. Used to change the
brush in paint_core, for pipe brushes.
* app/gimpbrush.c: Add gimp_brush_select_brush, which is dummy for
the normal brushes (returns the same brush).
* app/paint_core.c: Call the brush's select_brush method to get a
potential new brush before calling the paint_func.
* app/gimpbrushlist.c: Various changes related to the pixmap and
pipe overhaul.
* app/airbrush.c
* app/pencil.c: Reorder code a bit in the tool motion function to
avoid executing unnecessary code in the case of a pixmap brush.
Other changes in the same commit:
* app/install.c: Make quote_spaces extern.
* app/appenv.h: Declare it.
* libgimp/gimpui.def: Add missing entry points.
* libgimp/makefile.{cygwin,msc}: Add missing objects to gimpui.
1999-08-26 Tomas Ogren <stric@ing.umu.se>
* app/module_db.c: Put the list above the description instead of
to the left in the module browser. Fits much better on the screen and
looks better.
Tue Aug 24 22:50:28 BST 1999 Andy Thomas <alt@gimp.org>
* app/nav_window.c
Preview now updated when image is modified. Done on a two second +
idle timer. However the preview cache needs modifying since
the tiles are transversed twice. Once for small previews then for
larger ones. Should only be done once.
1999-08-24 Tor Lillqvist <tml@iki.fi>
* plug-ins/common/gpb.c: Added saving of .gih files.
* plug-ins/common/psp.c: Small changes, renamed the parasite.
* docs/parasites.txt: Suggesta a parasite for pixmap brush pipes.
* docs/gih.txt: Add the above parasite on the second line after
the number of brushes. Suggest how to edit brush pipes.
* docs/gpb.txt: Mention the gpb plug-in.
* app/pixmapbrush.c: Small clarification.
Fixes by Hans Breuer:
* libgimp/gimp.def: Add missing entries.
* app/gimpimage.h: Added declaration of gimp_image_{freeze,thaw}_undo.
* modules/makefile.msc: Drop the .msvc from dll names.
* plug-ins/common/jpeg.c: Guard inclusion of
unistd.h. (save_dialog): Restrict text box height to help people
with small displays.
1999-08-24 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/color_panel.[ch]: new function color_panel_set_color().
* app/color_picker.c: added a color panel to the color picker info
dialog and a toggle button to the color picker's tool options
which allows color updates to be effective in the info dialog
only.
* app/info_dialog.[ch]: changed the packing parameters of the info
table. Small fixes.
* app/palette.c: the name created for dropped colors contained " "
instead of "0".
1999-08-24 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/channels_dialog.c
* app/color_area.c
* app/color_panel.c
* app/color_select.c
* app/disp_callbacks.[ch]
* app/gimpdnd.[ch]: pass the widget to the color dnd callbacks.
* app/palette.c: color dnd for the palette dialog. Shift+click
toggles setting the FG/BG color now.
1999-08-24 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/color_select.[ch]: color dnd for the standard color
selection widget (the "GIMP" color notebook page).
Mon Aug 23 23:25:05 BST 1999 Andy Thomas <alt@gimp.org>
* app/menus.c
* app/nav_window.c
Nav window code now handles boundary conditions correctly (ie
you can scroll to the edges of the image now).
It also has some key bindings:-
1) Arrow keys work as expected
2) =/- keys perform zoomin/zoomout. Note these keys are hardcoded
at present until (if) I find away of finding out how to get the
current accel. keys for these functions.
3) Space will raise the display window to the top of the window stack.
It also updates the preview. This will be changed to happen
automatically RSN.
Tearoff menus are now popped up and down (like other dialogs) when
the tab key is pressed in the image window.
Mon Aug 23 10:15:32 EDT 1999 Austin Donnelly <austin@gimp.org>
Dirty flag now correct in all cases. Can be displayed in image
window title too. See NOTE near gimp_image_dirty() for details.
* app/fileops.c: gimp_image_clean_all() after reverting an image.
* app/gdisplay.c: register handlers for gimage dirty and clean
signals to update image title. New image-title-format
expansion: %Dx expands to x if the image is dirty.
* app/gdisplay_ops.c: gimage->dirty flags != 0 is the correct
condition to test to see if an image is dirty.
* app/gimpdrawable.c: gimp_image_dirty() should never be called
except from an undo_push_* function. Call
undo_push_cantundo() if you want to dirty the image but can't
be bothered writing an undo handler (be ashamed of yourself!).
* app/gimpimage.c: new gimage signal: clean. Emitted when an undo
operation takes place. Gimage changes when either dirty or
clean is emitted, so if you need to update previews etc, look
for both! Move group_count into gimage structure, since
leaving it as a static in undo.c is bad if two undo groups are
started on different images at the same time. More changes
of gimp_image_dirty() to undo_push_cantundo()
(parasite-related, plus layer moves). See the NOTE on dirty
counter near gimp_image_dirty() for the full story.
gimp_image_dirty() and gimp_image_clean() simplified - counter
can go negative.
* app/gimpimageP.h: group_count moved from undo.c
* app/layers_dialog.c: push undo for layer name change, rather
than dirtying the image.
* app/undo.c: layer rename undo functions
added. undo_push_cantundo() convenience functions added.
group_count made per-gimage since everything else is. When
blowing away redo stack, make image infinitely dirty if redo
info contained file save point.
* app/undo.h: added undo_push_layer_rename() and
undo_push_cantundo().
* TODO: added idea for undo history window.
1999-08-23 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/bucket_fill.[ch]: export bucket_fill_region().
* app/channels_dialog.c: enabled dropping a color to a channel.
* app/color_area.c
* app/color_panel.c
* app/gimpdnd.[ch]: the whole color dnd is now done in a generic
function in gimpdnd.c (dnd of other types is still hacked in at
various places but will go to generic functions and callbacks as
well).
* app/disp_callbacks.[ch]
* app/interface.c: drop a color to the display to bucket fill the
selected region.
Mon Aug 23 00:56:59 EDT 1999 Adrian Likins <alikins@redhat.com>
* app/gimpbrushhose.c
* app/gimpbrushhose.h:
removed.
* app/gimpbrushpipe.c
* app/gimpbrushpipe.h:
New files to replace the above
* app/gimpbrushlist.c
* app/paintbrush.c
* app/pixmapbrush.c
* app/Makefile.am:
s/hose/pipe. Seems someone else uses that name,
so change it to pipe.
* app/gimpbrush.c
* app/gimpbrush.h
* app/gimpbrushpixmap.c
* app/patterns.c
* app/patterns.h
* app/pixmapbrush.c:
Added functions to do the actual loading of
brush/pattern data. Use them where approriate instead
of cut&pasting the same code all over the place.
* app/pixmapbrush.c: Fix the bug where masks and brush
data werent aligned. I didnt quite notice that
paint_core_get_paint_area returns an area with a 1 pixel
border larger than the brush. Ooops.
* TODO: just update a few things while I'm at it
(pixmap/pipe stuff in particular)
1999-08-22 Tor Lillqvist <tml@iki.fi>
* plug-ins/common/psp.c: Use g_message, not gimp_message.
g_message calls gimp_message eventually.
* plug-ins/common/gpb.c: New plug-in for saving Adrian's gpb files
(pixmap brushes) from an RGBA image. Probably just of temporary
value.
* plug-ins/makefile.{cygwin,msc}: Add it.
* plug-ins/common/gbr.c: Use g_message instead of printf.
* app/makefile.{cygwin,msc}: Comment out the gcg stuff here,
too. Remove frac.o.
1999-08-22 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/color_area.[ch]
* app/color_panel.[ch]
* app/gimpdnd.[ch]: enabled dnd for colors (compatible with the
standard gtk/gnome color dnd). The color selection is now invoked
on a real click, not on button_down to avoid confusion with dnd.
* app/channels_dialog.c
* app/disp_callbacks.c
* app/interface.c
* app/layers_dialog.c: minor dnd updates/fixes.
* app/channel.[ch]
* app/channel_pvt.h
* app/docindex.[ch]
* app/docindexif.[ch]
* app/drawable.[ch]
* app/floating_sel.c
* app/gimage.[ch]
* app/gimage_mask.c
* app/gimpdrawable.[ch]
* app/gimpdrawableP.h
* app/gimpimage.[ch]
* app/gimpimageP.h
* app/layer.[ch]
* app/layer_pvt.h
* app/undo.c
* app/xcf.c: wanted to do some s/int/gboolean/ in the layer files
where appropriate and found myself spending the whole night doing
a big code review for layers/channels/drawables/images:
s/int/gboolean/, s/<type>/g<type>/, lots of indentation, removed
some old global variables and deprecated functions, #include
cleanups, proper prototypes, copyright headers, ...
1999-08-22 Tor Lillqvist <tml@iki.fi>
* app/convert.c: Use spinbutton for number of colours.
* app/preferences_dialog.h: Export gimp_spin_button_new. Not the
most logical place for it, though.
* configure.in: version number bump
* autogen.sh
* configure.in
* app/Makefile.am: comment out gcg stuff, nobody seems to be using it
* app/colormap_dialog.*: added generated files
-Yosh
1999-08-21 Tor Lillqvist <tml@iki.fi>
* app/errorconsole.c: Also provide a Clear button.
* app/gimprc.c: Add a missing static function declaration.
* app/makefile.{cygwin,msc}: Add new files.
* libgimp/gimp.def: Add new entry points.
* plug-ins/common/jpeg.c: Must include glib.h first. You don't
want to know why.
* plug-ins/common/psp.c: New file. This plug-in Loads Paint Shop
Pro files (.psp and .tub). Doesn't yet save them. Handles only 24-
bit images (with or without alpha) correctly so far.
* plug-ins/makefile.{cygwin,msc}: Build psp. Somebody please add
it to the auto* build system, too. I guess a test for zlib (which it
needs) is needed in configure.in.
Sat Aug 21 16:53:17 BST 1999 Adam D. Moss <adam@gimp.org>
* plug-ins/common/jpeg.c: Preview layers need to be alpha-padded,
since they're not on the bottom of the stack. That's a GIMP rule.
Plus... use new API functions gimp_image_{freeze,thaw}_undo() to avoid
the dilemma of either consuming a squillion superfluous tiles or
clobbering the whole undo stack.
* app/gimage.h
* app/gimage_cmds.c
* app/gimpimage.c
* libgimp/gimp.h
* libgimp/gimpimage.c: New API functions
gimp_image_{freeze,thaw}_undo() to avoid the above twin evils.
Similar to gimp_image_{disable,enable}_undo() but without
clobbering the undo stack (I would have simply changed the latter,
but too many plugins seem to rely on that behaviour). See the PDB
docs for slightly more information.
* app/gimprc.[ch]: removed cubic_interpolation variable.
* app/transform_core.c: use the interpolation_type variable
instead of the old cubic_interpolation variable.
Sat Aug 21 01:06:53 BST 1999 Adam D. Moss <adam@gimp.org>
* app/nav_window.c: Navigation window shows checkmarked alpha,
also previews correctly for greyscale images now.
Sat Aug 21 00:07:37 BST 1999 Adam D. Moss <adam@gimp.org>
* app/nav_window.c: Improved pointer tracking when
dragging navigator rectangle - less lag. Enabled hourglass
when computing first thumbnail.
1999-08-20 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/Makefile.am
* app/gimpdnd.c: new file. Contains a function which creates dnd
preview icons for all kinds of drawables.
* app/gimpdnd.h: added the new dnd types.
* app/channels_dialog.c: same dnd functions as in the layers
dialog. Fixed channels_dialog_flush(). Code cleanup.
* app/layers_dialog.c: enabled dnd for layer masks.
* app/disp_callbacks.c
* app/interface.c: dnd code generalization. The toolbox and the
display accept drop of any kind of drawable now.
* app/gimage.h
* app/gimpimage.[ch]: new function gimp_image_position_channel().
* app/layer.[ch]: new function layer_mask_get_layer().
* app/apptypes.h: added InterpolationType enum.
* app/gimprc.[ch], app/preferences_dialog.c: replaced
cubic_interpolation flag with interpolation_type variable.
* app/pixel_region.[ch]: added pixel_region_has_alpha function.
* app/paint_funcs.c: rewrote scale_region. It now behaves
correctly on images with alpha, no longer leaves an artifact on the
right edge of images when scailing up, and runs signifigantly
faster.
1999-08-19 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/Makefile.am
* app/gimpdnd.h: new file containing the dnd data definitions.
* app/disp_callbacks.[ch]
* app/interface.c: drop layers on the toolbox to create a new
image and on the display to copy it to the image's layer stack.
* app/layers_dialog.c: drop layer on the "New" button to create an
empty layer with the dropped layer's properties, to "Duplicate" to
duplicate it and on the trashcan to delete it.
Thanks to Andy for the ultra-cool dnd preview pixmap patch.
* app/layer.[ch]
* app/undo.c: renamed layer_mask() to layer_get_mask(). Prototyped
some function headers.
* app/disp_callbacks.c: Wheelmouse stuff: Shift+wheel scales the
display.
* app/airbrush.c
* app/eraser.c
* app/paint_options.h
* app/paintbrush.c
* app/pencil.c
* app/tool_options.c: moved the "Incremental" toggle to the
PaintOptions structure because it is used more often now.
* tools/pdbgen/pdb/drawable.pdb: #include "channel.h" and "layer.h"
for GIMP_CHANNEL, GIMP_IS_LAYER, and GIMP_LAYER #defines
The rest of these files are generated from the fresh pdbgen run
-Yosh
* data/brushes/vine.gih
* data/brushes/pepper.gpb: new files, a sample hose
and a sample pixmap brush
* docs/gpb.txt
* docs/gih.txt: vague description of the current pixmap
brush and hose formats
* app/gimpbrushhose.c
* app/gimpbrushpicmap.c: use the brush spacing info now
Wed Aug 18 22:49:31 1999 Adrian Likins <alikins@redhat.com>
* app/apptypes.h: add GradientPaintMode enum
* app/paint_core.h: move above enum
* app/paintbrush.c: use above enum
* app/drawable_cmds.c: include "layers.h" so it
will link again
* app/*.[ch]: Actually use the enum types GimpImageType,
GimpImageBaseType, LayerModeEffects, PaintApplicationMode,
BrushApplicationMode, GimpFillType and ConvertPaletteType, instead
of just int or gint. Hopefully I catched most of the places
where these should be used.
Add an enum ConvolutionType, suffix the too general constants
NORMAL, ABSOLUTE and NEGATIVE with _CONVOL. Use NORMAL_MODE
instead of NORMAL in some places (this was what was intended). Fix
some minor gccisms.
* app/apptypes.h: New file. This file contains the above
enumeration types, and some opaque struct typedefs. It was
necessary to collect these in one header that doesn't include
other headers, because when we started using the above mentioned
types in the headers, all hell broke loose because of the
spaghetti-like cross-inclusion mess between headers.
(An example: Header A includes header B, which includes header C
which includes A. B uses a type defined in A. This is not defined,
because A hasn't defined it yet at the point where it includes B,
and A included from B of course is skipped as we already are
reading A.)
* app/gimpbrushhose.c (gimp_brush_hose_load): Fix it. Now the hose
itself, interpreted as a pixmap brush (which the hose is a
subclass of), is the first brush in its list. The rest of the
pixmap brushes in the list are separately allocated ones. Don't
read the pattern names into dummy buffers, just seek past.
* app/pixmapbrush.c (pixmapbrush_motion): Now works better, and
actually steps through the pixmaps in the hose's list. The
paint_core->brush (which points to a brush hose in the cases we're
interested in) is temporarily replaced with the current pixmap
brush to use, and restored after applying the pixmap brush.
* app/makefile.{cygwin,msc}: Add new files.
Mon Aug 16 20:48:33 1999 Adrian Likins <alikins@redhat.com>
* app/gimpbrushhose.c
* app/gimpbrushhose.h: new files to implement a GimpBrushHose
type. The idea being its derived from gimpbrushes, so we can
make regular tools use it if need be, and fold it into the brushes
dialog nice and easy.
* app/gimpbrush.c
* app/gimpbrushgenerated.c
* app/gimpbrushpixmap.c:
* app/gimpbrushpixmap.h: Modified the *_get_type() functions
to behave more correctly. As suggested by Tim Janik <tim@gtk.org>
* app/pixmapbrush.c: Since pixmapbrush tool wasnt doing anything
useful anyway, start using it as a testbed for "image hoses".
Right now it doesnt really work correctly.
I'll try to upload a sample hose to http://adrian.gimp.org/pixmap-brushes/
shortly, and maybe some docs about the lame format.
-adrian
* app/transform_core.c: Use RINT instead of rint.
* plug-ins/common/curve_bend.c
* plug-ins/sel2path/spline.c: Workarounds for gccisms, thanks to
Hans Breuer.
* app/makefile.msc
* plug-ins/makefile.msc: Misc fixes.
* app/appenv.h: Add G_SQRT2.
* app/iscissors.c: Use it.
* app/makefile.{cygwin,msc}: Add new files.
* */makefile.{cygwin,msc}: Use libintl extracted from glibc from a
separate directory, not from gettext, because of licensing issues
(we want to use the LGPL version in GTk+, so use it here, too).
* app/appenv.h: added a G_PI_2
* app/brush_header.h
* app/pattern_header.h: prefixed each FILE_VERSION with
G{BRUSH,PATTERN} to avoid namespace collision
* app/patterns.c: reflect above change
* app/iscissors.[ch]: merged in Austin's iscissors rewrite.. still
unfinished, but it's not like the old one did anything useful
anyway ;)
-Yosh
Fri Aug 13 16:39:25 1999 Adrian Likins <alikins@redhat.com>
* app/airbrush.c
* app/paintbrush.c
* app/pencil.c
* app/pixmapbrush.c
* app/pixmapbrush.h
Added support for pixmap brushes to airbrush, pencil,
and paintbrush. Merging this into paintbrush makes
the pixmaptool itself kind of useless at the moment,
but that will change ;->
Still a few rough edges here, but its mostly there.
I still need to make the "incremental" button for
the tools to accurately reflect that pixmap always
uses this mode.
* app/eraser.c
* app/eraser.h
* app/tools_cmds.c
* tools/pdbgen/pdb/tools.pdb
Applied patch from Shuji Narazaki <narazaki@gimp.org>
to implement the anti-eraser. Neat.
* app/brush_select.c: Color brushes now appear in the brush
selector in color. Scaling is disabled for color brushes because
I can't figure out how to do it just now. Still need to fix the
toolbox to do this too.
--klm
Thu Aug 12 19:16:58 1999 Adrian Likins <alikins@redhat.com>
* app/pixmapbrush.c: added a fix from Xach "I dont code."
Beane <xach@gimp.org> to fix the behaviour when painting
at the top of images.
Thu Aug 12 21:38:53 BST 1999 Andy Thomas <alt@gimp.org>
* app/commands.c
* app/commands.h
* app/disp_callbacks.c
* app/gdisplay.c
* app/gdisplay.h
* app/info_dialog.c
* app/info_dialog.h
* app/info_window.c
* app/info_window.h
* app/menus.c
* app/scale.c
* app/scroll.c
* app/scroll.h
* app/nav_window.c (new)
* app/nav_window.h (new)
* pixmap/dropper.xpm (new)
New "navigator" image (accessed via <Image>/Window Nav..). This gives
an outline of the location of the current view on an image. Eg if your
image window is only showing part of an image then the Window Navigation window will outline the area viewed. You can "drag" the outlined
square around the viewport and the main image will scroll. Additional
a single click outside the square will center the image at that
location.
Also started to add additional information to a new page inside the
Window information dialog (currently only pixel value is shown).
Both these features are currently work in progress and unfinished.
In particular the Navigator does not keep in step with changes
to the basic image (however it does keep in step with image size changes and if you modify the size of the image viewing window). It also
does not display the transparent areas of images very nicely.
* app/makefile.{cygwin,msc} (gimp_OBJECTS): Add newest files.
* plug-ins/common/winclipboard.c: Speed up by using
gimp_tile_cache_size().
* app/gimprc.c
* plug-ins/script-fu/script-fu-scripts.c: Guard
use of GLIB_CHECK_VERSION from old GLibs that don't have it.
* tools/pdbgen/pdb/gimprc.pdb: made the monitor resolution
accessible through a PDB function
* app/internal_procs.c
* app/gimprc_cmds.c: changed the autogenerated files
* plug-ins/common/screenshot.c: set the image resolution to the
monitor resolution and unset the image name
--Sven
Tue Aug 10 01:15:59 1999 Adrian Likins <alikins@redhat.com>
* app/pixmapbrush.c: fixed the weirdness with drawing
along the left side of the image. Top's still weird
Mon Aug 9 01:20:24 1999 Adrian Likins <alikins@redhat.com>
* app/pixmapbrush.c
* app/pixmapbrush.h
* app/gimpbrushpixmap.c
* app/gimpbrushpixmap.h: New files, implement the GimpBrushPixmap
object, and the pixmap brush tool.
* app/context_manager.c
* app/tool_options.c
* app/tools.c
* app/toolsF.h: add the pixmap brush tool in
* app/gimpbrushlist.c: allow for loading of pixmap brushes and
displaying them in the brush dialog. Currently it only shows the
grey scale mask.
*app/Makefile.am: add the pixmap tool stuff to the build process
These Changes implement a pixmap brush tool. Sort of a "image stamp".
Some examples can be seen at http://adrian.gimp.org/pixmap-brush/.
Some examples of pixmap brushes can be found there too (.gpb
extension), but these are easy enough to make (for now, make
a pattern and a brush the same size and `cat foo.gbr foo.pat >
foo.gpb` ;->
Theres still a few rough edges that need some tweaking, but
the framework is there. Figured I'd sneak it in before the
freeze.
* app/appenv.h: Define ROUND(), RINT(), SQR(), G_PI and
G_PI_4. The latter two will presumably eventually be in
GLib. RINT() calls rint() if we have it, otherwise adds 0.5 and
calls floor().
* app/*.c: Remove the multiple identical definitions of M_PI. Use
G_PI instead of M_PI. Remove ROUND() and rint() definitions. Use
RINT() instead of rint().
* app/interface.c: My last change to the dnd code did fix the bug
but disabled loading multiple files. Now applied a new patch from
Shuji Narazaki <narazaki@gimp.org>.
--Sven
app/paint_core.c: Improvements to the transform_core_do and cubic
routines by David Hodson <hodsond@acm.org>
"This fixes a number of annoying inaccuracies in transform_core.
The identity transform now leaves all pixels unchanged; previously
it shifted the image by 1/2 pixel left and up. All edges of an
image are now correctly antialiased after a transform. The cubic
interpolation function has been changed to a slightly smoother one.
The code has been tidied and rearranged for some minor improvements
in efficiency, but the basic logic and tile handling have not changed."
* plug-ins/Makefile.am
* plug-ins/common/Makefile.am: Distribute the Windows-only
plug-ins, too.
* plug-ins/print/print.c: Use gimp_personal_rc_file().
* plug-ins/common/winprint.c: Move here from separate directory.
* plug-ins/makefile.{cygwin,msc}: Update correspondingly.
* app/gimprc.c
* plug-ins/script-fu/script-fu-scripts.c: Guard against
different g_strescape API in GLib 1.2 and 1.3.1.
* app/gimprc.c: Check for g_get_home_dir() returning NULL.
* tools/pdbgen/pdb/tools.pdb: revert previous change
* tools/pdbgen/pdb/guides.pdb: perform orientation xform here
* app/gimpimage.h: use 2 enums, one for internal and for external
* libgimp/gimpenums.h: change around external enums here
-Yosh
* tools/pdbgen/pdb/tools.pdb: hard code orientation constants for
shear and flip too maintain backwards compatibility
* app/gimpimage.h: remove ORIENTATION chop to avoid namespace
collision
-Yosh
* app/makefile.{cygwin,msc}: Add gdiplay_color. Create gimp.def
from gimp.sym.
* app/gimp.def: Removed.
* libgimp/gimpenv.c (gimp_data_directory) (Win32): Also check for
the executable being in the plug-ins subdirectory.
* plug-ins/makefile.{cygwin,msc}: Install also GIMPressionist
brushes, papers and presets.
* app/paint_funcs.c, app/transform_core.c: replace the cubic
functions with a better/faster version supplied by
David Hodson <hodsond@acm.org>
* app/brush_select.c: double clicking on a brush preview now opens up
the brush editor. Update the text displayed when the active brush
changes size.
* app/paint_funcs.c: slight modification to overlay_pixels.
* tools/pdbgen/pdb/channel.pdb: Remove a call to
channel_set_opacity() at a point where channel always is NULL,
causing a crash. The next statement calls channel_new() (passing
the opacity), and assigns its return value to channel, so there
shouldn't be any need to call channel_set_opacity()?
* app/channel_cmds.c: Corresponding change in generated file.
* plug-ins/makefile.{cygwin,msc}: Add the new curve_bend and
sample_colorize plug-ins.
1999-07-28 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/gdisplay_ops.c: tweaked one more dialog box: "Changes were
made to %s. Close anyway?"
* app/layers_dialog.c: Eek, layers_dialog_flush() was assuming
that layers can be moved by one position only and thus traversed
and reordered the same list at the same time. Should work with
arbitrarily misplaced layers now.
Fixed some strange dnd special cases and cleaned up the dnd code.
* app/clone.c: more cursor support.
* app/cursorutil.[ch], cursors/{bad,badmsk}: new cursor
* app/paint_core.c: fix that rounding error the right way this time.
* app/pixel_processor.c, app/pixel_region.c: Lock the tiles while
they are being processed. Only create new threads if the region
being processed is large enough to warrant it.
1999-07-27 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/commands.c
* app/desaturate.[ch]
* app/equalize.[ch]: no need to pass the image as a void pointer
to desaturate and equalize.
* app/gimage.h
* app/gimpimage.[ch]: new function gimp_image_position_layer().
* app/layers_dialog.c: move layers with drag'n'drop.
1999-07-24 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/errorconsole.[ch]: forgot to checkin this one...
Wheelmouse support and a hack to set the message_handler to
ERROR_CONSOLE and back to MESSAGE_BOX box when showing/hiding the
dialog (should interact with preferences).
1999-07-24 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/brush_select.c
* app/pattern_select.c
* app/gradient.c: wheelmouse support for the brush/pattern lists
and for the gradient preview.
1999-07-24 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/color_picker.[ch]: set the "preserve" flag to FALSE. This
way the tool doesn't have to detect drawable changes by itself.
Misc stuff like below.
* app/gradient.c: heavily changed the beast:
- Reviewed the whole ui code and indented it.
- Standard ui for all sub-dialogs.
- Handle the wm delete event of the sub-dialogs.
- "+" and "-" pixmaps instead of "zoom in" and "zoom out".
- Made the gradient preview resizable again.
- i18n fixes.
- Removed some code duplication in the sub-dialogs' cancel/delete
callbacks.
- Grouped functions together and commented the groups and their
prototypes.
- Didn't change any core functionality (just the ui).
- Please don't kill me, but I couldn't resist to indent most
functions ;-)
* app/info_dialog.c: no need to call gettext() on a string which
was passed to a function (it's the job of the caller).
* app/ink.c: grab the pointer in the blob preview.
* app/palette.c: standardized the ui of the dialog and all it's
sub-dialogs, function header indentation, namespace cleanup.
Fri Jul 23 00:01:05 BST 1999 Andy Thomas <alt@gimp.org>
* ./app/clone.c
* ./app/airbrush.c
* ./app/bezier_select.c
* ./app/paintbrush.c
* ./app/eraser.c
* ./app/convolve.c
* ./app/smudge.c
* ./app/dodgeburn.c
* ./app/pencil.c
* ./app/paint_core.c
Better stroking of paths.
First point in stroke path is now correctly painted (try stroking
with a brush spacing of > 100.0 in gimp 1.0.x).
Fixed problem in paint_core_interpolate() where points were
missed in some cases.
(BTW for those who do not know the brush spacing means as follows:-
A spacing of 100.0 means brush strokes are placed next to each other
exactly with no gaps or overlaps. A spacing of 200.0 means only
alternate spaces are filled with the brush paint. A setting of 50.0
means the brush paints positions overlap by 50% of the brush width.
So 100.0 corresponds to exactly the brush width! It took me
ages to figure this simple thing out!)
1999-07-22 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/brightness_contrast.c: same cleanups as in my previous
checkin.
* app/gradient.c: made the gradient editor look like the other
dialogs. It's now possible to set the background color with
<Ctrl>+click. Indentation madness in all functions I modified.
1999-07-22 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/channel_ops.[ch]: new ui for the "Layer Offset" dialog.
* app/channels_dialog.c
* app/layers_dialog.c: major code cleanup: Folded some callbacks
into common ones, "widget" instead of "w", indentation, ...
* app/commands.c
* app/interface.[ch]
* app/global_edit.c: the query boxes must be shown by the caller
now. There's no need to split up the string for the message box
manually as the Gtk 1.2 label widget handles newlines corectly.
Added the "edge_lock" toggle to the "Shrink Selection" dialog.
Nicer spacings for the query and message boxes.
* app/ink.c: tried to grab the pointer in the blob preview but
failed. Left the code there as a reminder (commented out).
* app/menus.c: reordered <Image>/Select.
I was bored and grep-ed the sources for ancient or deprecated stuff:
* app/about_dialog.[ch]
* app/actionarea.[ch]
* app/app_procs.c
* app/brush_edit.c
* app/brush_select.c
* app/color_select.c
* app/convert.c
* app/devices.c
* app/gdisplay.c
* app/gdisplay_ops.c
* app/histogram_tool.[ch]
* app/info_window.c
* app/install.c
* app/ops_buttons.c
* app/palette.c
* app/palette_select.c
* app/paths_dialog.c
* app/pattern_select.c
* app/resize.c
* app/scale_toolc.c
* app/text_tool.c:
s/container_border_width/container_set_border_width/g,
s/sprintf/g_snprintf/g, replaced some constant string lengths with
strlen(x).
* app/bezier_select.c
* app/blend.c
* app/boundary.c
* app/errors.[ch]
* app/free_select.c
* app/gimpbrushlist.c
* app/gimprc.c
* app/iscissors.c
* app/main.c
* app/patterns.[ch]
* app/text_tool.c: namespace fanaticism: prefixed all gimp error
functions with "gimp_" and formated the messages more uniformly.
* app/gradient.c
* app/gradient_select.c: same stuff as above for the ui
code. There are still some sub-dialogs which need cleanup.
Did some cleanup in most of these files: prototypes, removed tons
of #include's, i18n fixes, s/w/widget/ as above, indentation, ...
* README.win32: Update gcc instructions. Remove warning about
gettext being GPL, as the GIMP is GPL, too, of course, and it
thus doesn't matter.
* user_install.bat: Rename the template user gtkrc to gtkrc_user,
to reduce user confusion.
* app/main.c: Small change for gcc on Win32 compilation.
* */makefile.cygwin
* app/module_db.c: With newest gcc-2.95 -fnative-struct on Win32,
no need to have differently named DLLs (including modules) for
(built by) gcc and MSVC.
* app/module_db.c: Use g_strdup_printf() instead of
strlen(), g_malloc() and g_snprintf()
* libgimp/Makefile.am: No need to distribute gimpfeatures.h.win32,
the suitable gimpfeatures.h is built when making the dist.
* libgimp/gimpfeatures.h.win32: Removed.
* libgimp/makefile.cygwin
* libgimp/makefile.msc: Remove gimpfeatures.h.win32.
* libgimp/gimp.h: Win32 startup code changed a bit.
* plug-ins/makefile.cygwin
* plug-ins/makefile.msc: Add the winsnap unofficial plug-in.
* plug-ins/common/animationplay.c
* plug-ins/common/gz.c: (Win32) Hack aroung WinMain getting
clashing declarations because these guys include gdkx.h (which
includes windows.h), and gimp.h also declares WinMain on its own.
1999-07-20 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/ink.c (ink_options_new): Changed the default step-width of
the "size"-slider to 2 instead of 5.
Mon Jul 19 23:40:56 BST 1999 Andy Thomas <alt@gimp.org>
* app/indicator_area.c
* app/paths_dialog.c
* app/tools_cmds.c
* app/airbrush.c
* app/airbrush.h
* app/bezier_select.c
* app/paintbrush.c
* app/paintbrush.h
* app/clone.c
* app/clone.h
* app/eraser.c
* app/eraser.h
* app/convolve.c
* app/convolve.h
* app/smudge.c
* app/smudge.h
* app/dodgeburn.c
* app/dodgeburn.h
* app/internal_procs.c
* plug-ins/sel2path/sel2path.c
* tools/pdbgen/pdb/tools.pdb
* tools/pdbgen/enums.pl
1) Fixed the brushpreview popup problem where it remained onscreen
if the mouse button was released in another GTK window that accepted
mouse events.
2) Selection to path now works on all types of images (it should have
anyway).
3) Fixed PDB so you can once again use the PDB interfaces to the clone
and airbrush tools.
4) PDB Function to add a path to an image now adds it correctly.
5) airbrush/paintbrush/clone/eraser/convolve New PDB functions that
use the options dialogs settings (or sane defaults if option dialog
not present)
6) Added PDB functions for Smudge & DodgeBurn tools.
7) Path stroke command (from the LCP dialog) can now use any of the
painting tools (airbrush/paintbrush/clone/eraser/convolve/smudge/
dodgeburn except ink). Just have the tool selected when you
press the stroke button.
1999-07-19 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/gdisplay.c (gdisplay_set_menu_sensitivity): moved the _()
wrappers out of the macro again, so they actually get
processed. Reported by <Daniel.Egger@t-online.de>.
* Made 1.1.7 release
* configure.in: version number bump
* ltconfig
* ltmain.sh: libtool 1.3.3
* app/channel_cmds.c
* tools/pdbgen/pdb/channel.pdb: remove opacity_arg alias for channel new
* Makefile.am: add pixmaps
* borderaverage moved into it's own dir again, to avoid gck problems
-Yosh
* app/makefile.cygwin
* app/makefile.msc
* plug-ins/makefile.cygwin
* plug-ins/makefile.msc
* modules/makefile.cygwin
* modules/makefile.msc
* tools/gcg/makefile.cygwin: Various updates. GCC-compiled DLL
name change.
* app/context_manager.c: Include paint_options.h for prototype.
* app/gimpimage.c (gimp_image_initialize_projection): Break out of
loop as soon as possible.
* app/menus.c (menus_last_opened_cmd_callback): Check if referring
to entry not in list.
* app/module_db.c (valid_module_name): (Win32) Require module DLL
names to include name of compiler built with.
* app/paths_dialog.c (paths_draw_segment_points): No use to draw
lines if we have less that two points.
* app/qmask.c: Include stdio.h and floating_sel.h.
* libgimp/makefile.cygwin: New file.
* libgimp/Makefile.am: Distribute above file.
* libgimp/gimp.def: Update.
* libgimp/gimpenv.c (gimp_directory): Don't warn about missing
home directory on Win32, it is perfectly natural.
* plug-ins/sel2path/global.h: Bypass unused declarations, some
of which clash with functions in MSVCRT.
* plug-ins/sel2path/math.c
* modules/colorsel_water.c: Define M_PI if necessary.
* plug-ins/sel2path/sel2path.c: Include config.h and
glib.h. Define rint() if needed.
* plug-ins/sel2path/vector.c: Include glib.h (for hypot() renaming
on Win32; In the MS C runtime, as hypot() is non-ANSI, it's called
_hypot(), sigh).
* plug-ins/sinus/sinus_logo.h: Use indexed format, it is easier on
some compilers than the huge string.
Tue Jul 13 22:48:37 BST 1999 Andy Thomas <alt@gimp.org>
* plug-ins/sel2path/sel2path.c
* app/paths_dialog.c
* app/paths_cmds.c
* tools/pdbgen/pdb/paths.pdb
Selection is now cleared when converted to a path.
Path is made the current one when created via the PDB.
This made more sense than the previous behavior.
1999-07-10 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/gdisplay.c (gdisplay_set_menu_sensitivity): Undo/Redo should
be sensitive even if there is no layer :-)
* app/commands.h
* app/docindex.[ch]
* app/docindexif.[ch]
* app/file_new_dialog.[ch]: some #include cleanups.
* plug-ins/helpbrowser/Makefile.classic: less primitive version.
1999-07-10 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/disp_callbacks.c (gdisplay_canvas_events): added wheelmouse
scrolling support for the canvas (cut & paste from gtkmain.c).
CTRL+wheel scrolls horizontally.
Fri Jul 9 22:24:53 BST 1999 Andy Thomas <alt@gimp.org>
* configure.in
* plug-ins/Makefile.am
* plug-ins/sel2path/* <- New directory
* app/paths_dialog.c
* pixmap/topath.xpm
New function implemented by a plugin.
Will convert a selection into a path. Please
see the README in sel2path directory for more
details (especially where the underlying algorithms/code
were obtained from).
Fri Jul 9 20:12:12 MEST 1999 Sven Neumann <sven@gimp.org>
* app/app_procs.c: applied a (modified) patch from
Shuji Narazaki <narazaki@gimp.org>
* app/gimpimage.c: applied a modified) patch from
Tom Rathborne <tomr@aceldama.com> that aligns guides on layer_resize
--Sven
Fri Jul 9 18:39:03 MEST 1999 Sven Neumann <sven@gimp.org>
* app/clone.c
* app/dodgeburn.c
* app/pencil.c
* app/smudge.c: applied a patch from Olof S Kylander
<olof@frozenriver.com> that enables pressure sensitivity for all
the tools that were missing it
--Sven
Fri Jul 9 16:47:04 MEST 1999 Sven Neumann <sven@gimp.org>
* libgimp/gimpmatrix.[ch]: added a few functions to test for
matrix properties
* app/transform_core.c: if we are doing a simple transformation
(e.g. rotating by 90 degrees), turn off interpolation
* app/rotate_tool.c: persuade the slider that a rotate angle of
180 degrees is perfectly ok
--Sven
1999-07-09 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/crop.c: mysteriously, using the new tool constructor fixed
the crop tool redraw problem.
* app/gdisplay.c: clode cleanup
* app/info_dialog.c: never emit signals when updating the info
fields. Fixes some more transform tool grid redraw bugs.
1999-07-09 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/commands.c (view_toggle_rulers_cmd_callback): set the
"visible" flags before mapping the widgets.
Thu Jul 8 00:08:50 EDT 1999 Adrian Likins <alikins@redhat.com>
*app/interface.c: added type for _NETSCAPE_URL to the DnD stuff
so you can now drag image urls from netscape
-adrian
Wed Jul 7 20:33:24 MEST 1999 Sven Neumann <sven@gimp.org>
* Makefile.am
* pixmaps/locked.xpm: removed
* pixmaps/locked.xbm: new file
* app/paths_dialog.c: Use a bitmap in the style of the eye instead
of the lock pixmap. This could be done more elegantly, but the
paths_dialog is a mess, sorry.
1999-07-07 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/gdisplay.c (gdisplay_set_menu_sensitivity): don't make menus
unreachable by forgetting to set them sensitive again.
and a tiny .cvsignore update in plug-ins/common
* pixmaps/qmasknosel.xpm
* pixmaps/qmasksel.xpm: Ugly pixmaps that tigert promised to replace
* app/channel.[ch]
* app/channel_cmds.c : made some of the private structures accessible
through exported functions to keep things a bit clean
* app/interface.c
* app/gdisplay.[ch]
* app/gimpimageP.h
* app/gimpimage.[ch]
* app/undo.[ch]: added qmasks
* app/Makefile.am
* app/qmask.[ch]: added new files for qmask support
* tools/pdbgen/pdb/channel.pdb: changed some channel stuff to keep
things a bit more private
Tue Jul 6 22:16:07 BST 1999 Andy Thomas <alt@gimp.org>
* ./app/layer.c.orig
* ./app/lc_dialog.c.orig
* ./app/paths_dialog.c.orig
* ./app/pathsP.h.orig
* ./libgimp/gimpmenu.c.orig
* ./tools/pdbgen/pdb/paths.pdb.orig
* ./app/paths_cmds.c
* ./app/internal_procs.c
Fixed small LCP menu preview problems. Now works for all
image types and updated correctly when alpha channel added.
Additional PDB functions for paths. Fixed some PDB functions
(gimp_paths_set_points). Now works as advertised.
Tue Jul 6 22:40:16 MEST 1999 Sven Neumann <sven@gimp.org>
* app/commands.[ch]
* app/global_edit.[ch]
* app/menus.c: added "Paste As New" feature that allows to paste
the current (or a named) buffer to a new image. Still need to
add PDB call for that...
--Sven
Tue Jul 6 19:58:48 MEST 1999 Sven Neumann <sven@gimp.org>
* app/fuzzy_select.c: give user feedback on the threshold
* app/paintbrush.c: use an optionmenu for the gradient type
instead of using 4 radiobuttons
* app/blend.c: indentation paranoia
Hopefully I have merged in Michaels changes correctly ...
--Sven
1999-07-06 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/airbrush.c
* app/blend.c
* app/bucket_fill.c
* app/clone.c
* app/convolve.c
* app/dodgeburn.c
* app/eraser.c
* app/ink.c
* app/paintbrush.c
* app/pencil.c
* app/smudge.c: get opacity/paint mode from the current context
(currently always the user context).
* app/gimage_mask.c: the "stroke" command uses the paintbrush's
settings if the current context is the user context and we are in
per-tool paint options mode.
* app/context_manager.[ch]
* app/paint_options.h
* app/preferences_dialog.c
* app/tool_options.c
* app/tools.c: moved the global/per-tool paint options switching
to the context manager. The tool options themselves only contain
the widgets for them now. This should fix the segfaults happening
in per-tool mode.
Removed the disclaimer from the prefs. dlg. as it seems to work
now. The impl. in the context manager however is still a hack.
* app/brush_select.c
* app/brushes_cmds.c
* tools/pdbgen/pdb/brushes.pdb: same as above.
* app/lc_dialog.c: minimal code reduction. No functionality changed.
Mon Jul 5 20:39:42 BST 1999 Austin Donnelly <austin@gimp.org>
* app/levels.c: change from greyscale bars to colour ones similar
to curves.c. Is this any use to people? If not, we can
always revert it.
* libgimp/gimpenv.c (gimp_directory): Don't warn about missing
home directory on Win32, it is perfectly natural.
* app/color_notebook.c
* libgimp/color_selector.h: Bypass the declaration of the exported
functions in the header. (Caused different linkage error with MSC,
as they are declared dllexport in the source, but naturally not in
the header.)
* README.win32: Advice about gcc.
* libgimp/gimp.{c,h,def}: New way to get address of PLUG_IN_INFO
to the gimp dll, similar as used by the EMX port. Much cleaner.
Works well with gcc also now.
* app/gimprc.c: Remove gratuituous printf.
* app/makefile.msc: Update with new files.
* plug-ins/makefile.msc: Small updates.
* plug-ins/makefile.cygwin: New file.
* plug-ins/gfig/gfig.c
* plug-ins/script-fu/script-fu-scripts.c: Include <glib.h> early.
1999-07-02 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/[all tools]: the Tool structure is now allocated by a common
constructor which sets default values and provides default tool
action functions. To get rid of much code duplication there should
be a object hierarchy of tools.
* app/context_manager.c
* app/tools.[ch]: create and destroy private contexts for the
paint tools on startup and exit. They are not used yet.
* app/interface.c
* app/menus.c
* app/tools.h: num_tools is now exported in tools.h
* app/commands.c
* app/gdisplay.c
* app/menus.c: made "Toggle Selection" a toggleable menu item.
* tools/pdbgen/pdb/guides.pdb
* app/guides_cmds.c: fixed a bug in image_find_next_guide
* plug-ins/xjt: reflect the name change of gimp_image_find_next_guide
* app/interface.c: applied the patch from
Shuji Narazaki <narazaki@gimp.org> that allows to open images by
dropping them onto the toolbar
--Sven
1999-06-30 Sven Neumann <sven@gimp.org>
* app/crop.c (crop_automatic_callback): Crop now does
AutoShrink -- the algorithm starts with the interactively
selected crop area and tries to shrink that instead of
always starting from the corners.
* plug-ins/helpbrowser/helpbrowser.c: cosmetic changes
--Sven (using Mitschels account)
* */makefile.msc: Use the DEBUG nmake variable to determine
whether to build for debugging or not.
* libgimp/gimp.def: Add some missing entry points.
* plug-ins/makefile.msc: Redo as to Yosh's reorg of the
sources. Add some plug-ins missing earlier. (For instance print,
which only prints to files on Win32. We still need a real Win32
print plug-in. Much code probably could be lifted from the bmp
plug-in.)
* plug-ins/MapObject/arcball.c: Change Qt_ToMatrix() to void,
instead of returning the address of its parameter (dubious
practise), as its value is never used anyway.
For the following changes, thanks to Hans Breuer:
* plug-ins/FractalExplorer/Dialogs.h: Check for feof, not to get
into an endless loop on malformed files.
* plug-ins/common/header.c: Support indexed images.
* plug-ins/common/sunras.c
* plug-ins/common/xwd.c
* plug-ins/print/print.h
* plug-ins/sgi/sgi.h: Include config.h, guard inclusion of
unistd.h.
* plug-ins/print/print.c: Guard for SIGBUS being undefined. Open
output file in binary mode.
* po/makefile.msc: Add no.
1999-06-28 Sven Neumann <sven@gimp.org>
Michael Natterer <mitschel@cs.tu-berlin.de>
* app/plug_in.c: return a PDB_EXECUTION_ERROR if a procedure
requested by a plugin doesn't exist.
* plug-ins/helpbrowser/*: The GIMP Help Browser!
Not yet built by default. You need GtkXmHTML to make it work.
There is a Makefile.classic for testing it.
* Makefile.am
* configure.in
* help/*: some sample help files. Subdirs are possible, too.
1999-06-28 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/plug_in.c (plug_in_callback): removed the check for
gdisplay_active() returning NULL because it caused all extensions
to be un-callable when no image was open.
1999-06-26 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/[all tool related files]
* app/commands.c
* app/disp_callbacks.c
* app/gdisplay.c
* app/gimage.c
* app/interface.c: hopefully fixed the bugs that appeared with my
last fix. And some more changes...
- Slightly changed the conditions which cause the tools to be
re-initialized on button_press events and the global
initialisation functions.
- The dialog tools now explicitly set tool->gdisp_ptr so they can
be properly hidden on display deletion.
- Create the crop info dialog only once and avoid ugly redraw bugs
by blocking the sizeentries' signal when initializing them.
- Standardized the tools_new_<tool>() functions. They are
scheduled to be moved to a common constructor in tools.c
- Various stuff...
Fri Jun 25 22:09:04 BST 1999 Andy Thomas <alt@gimp.org>
* lc_dialog.c
Fixed problem when preview sizes are changed in L&C&P
dialog and then the busy cursors stuff tried to change
the cursor on a dialog that has been removed. (ie
the LCP dialog should be unregistered when it is destroyed)
Small previews in LCP dialog image menu do not get created when no preview preference is set.
Thu Jun 24 22:49:41 BST 1999 Andy Thomas <alt@gimp.org>
* layers_dialog.c
* lc_dialog.c
* lc_dialogP.h
L&C&P previews are now updated on undo and layer movement
operations.
Wed Jun 23 23:52:54 BST 1999 Andy Thomas <alt@gimp.org>
* gimp/app/gimppreviewcache.c
* gimp/app/gimppreviewcache.h
* gimp/app/drawable_cmds.c
* gimp/app/gdisplay.c
* gimp/app/gimpdrawableP.h
* gimp/app/gimage_cmds.c
* gimp/app/Makefile.am
* gimp/app/layers_dialog.c
* gimp/app/channel.c
* gimp/app/lc_dialog.c
* gimp/app/lc_dialog.h
* gimp/app/lc_dialogP.h
* gimp/app/layer.c
* gimp/app/gimpdrawable.c
* gimp/app/internal_procs.c
* gimp/libgimp/gimp.h
* gimp/libgimp/gimpimage.c
* gimp/libgimp/gimpdrawable.c
* gimp/libgimp/gimpmenu.c
* gimp/tools/pdbgen/pdb/drawable.pdb
* gimp/tools/pdbgen/pdb/gimage.pdb
Added thumbnail image preview functions.
Previews are visible on the L&C&P dialogs as well as in the
drawables/channels/ menus generated for plugins
(see the bumpmap & Mapobject plugins).
PDB interface exists to simply extract a thumbnail preview
of a given size. This is much quicker & more efficient
than getting the image data tile-by-tile if you only need a small
image since a "preview cache" has been implemented. This cache also
reduces the number of times the tiles cached is scanned since smaller
previews are always generated from large ones if they exists and
are valid.
Some possible usages (I don't intend to implement these ideas. Just
suggestions). More plugins using the thumbnail preview (ie any that
use multiple images). Indication of "active image" somewhere.....
Actually almost anywhere a drawable/image name appears.