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 23:00:50 1999 vidar@prosalg.no (Vidar Madsen)
* plug-ins/gimpresionist/*.[ch]: Big rewrite of many internals
to get rid of the clumsy "struct rgbcolor" construct, as well
as removal of old and useless debugging code.
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.
* Makefile.am
* configure.in
* gimptool.in: install a gimpinstall script (basically install-sh)
for platforms without an install tool
* plug-ins/common/csource.c: correct some gccisms
* plug-ins/unsharp/dialog_f.c
* plug-ins/unsharp/dialog_i.c
* plug-ins/unsharp/unsharp.c: // IS NOT A VALID C COMMENT
-Yosh
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, ...
* plug-ins/common/psp.c: Handle the tube block, too. Save tube
(image hose) parameters in a parasite. Yet-to-be-written code
that creates a .gih file (or something better) can get them
from there.
Actually attach the comment parasite.
Must set layer offset after adding it to the image.
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/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.
* plug-ins/common/winclipboard.c: New Windows-only plug-in, an
interface to the Windows clipboard. (Now we can cut and paste
images between the GIMP and other applications!). Thanks to Hans
Breuer for the implementation.
* plug-ins/makefile.{cygwin,msc}
* plug-ins/common/Makefile.am (EXTRA_DIST): Add it.
* 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.
Tue Jul 27 22:47:33 MEST 1999 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c: fixed a bug that was
introduced by the latest portability changes
* 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