2003-09-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.[ch]
* app/core/gimpselection.c: reordered GimpChannel::is_empty()
after GimpChannel::boudary() and GimpChannel::bounds() because it
belongs to that group of functions.
2003-09-04 Sven Neumann <sven@gimp.org>
* app/core/gimpcontainer.[ch]: added new function
gimp_container_get_name_array().
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/paths.pdb
* tools/pdbgen/pdb/patterns.pdb: use the new GimpContainer function
instead of duplicating this code over and over again.
* app/pdb/brushes_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/palettes_cmds.c
* app/pdb/paths_cmds.c
* app/pdb/patterns_cmds.c
* libgimp/gimpgradients_pdb.c: regenerated.
* tools/pdbgen/Makefile.am
* tools/pdbgen/pdb/fonts.pdb: added new file that defines a simple
PDB API for fonts.
* tools/pdbgen/groups.pl
* app/pdb/Makefile.am
* app/pdb/fonts_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimp_pdb.h
* libgimp/gimpfonts_pdb.[ch]: (re)generated.
2003-09-04 Simon Budig <simon@gimp.org>
* app/vectors/gimpbezierstroke.c: Changed the direct dragging
of a segment a bit, so that close to one endpoint only one
handle gets moved.
2003-09-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.[ch]: added new pure virtual function
GimpDrawable::invalidate_boundary().
* app/core/gimplayer.[ch]: implement it and removed public
function gimp_layer_invalidate_boundary().
* app/core/gimpchannel.[ch]: implement it.
* app/core/gimpselection.[ch]: implement it and removed public
function gimp_selection_invalidate().
* app/core/gimpimage-mask.c (gimp_image_mask_invalidate)
* app/core/gimpimage-undo-push.c
* app/core/gimpimage.c
* app/core/gimplayer-floating-sel.c
* app/text/gimptextlayer.c: changed accordingly.
* app/core/gimpchannel.[ch]: made gimp_channel_push_undo() a
public function and made it call
gimp_drawable_invalidate_boundary(). Added undo_desc strings for
all undo pushing functions to GimpChannelClass.
* app/core/gimpselection.[ch]: removed gimp_selection_push_undo()
since after the change above it was identical to
gimp_channel_push_undo(). Don't push any undo here since
upchaining does the right thing now. Override GimpChannelClass'
undo_desc strings to say "Selection".
* app/core/gimpimage-mask.c (gimp_image_mask_push_undo): changed
accordingly.
2003-09-04 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/paths.pdb (path_get_points): lookup the vectors
by name instead of always using the active path (bug #121401).
Made all functions use the convenience function
gimp_image_get_vectors_by_name() instead of the GimpContainer API.
* app/pdb/paths_cmds.c: regenerated.
* app/core/gimpimage.c: simplified the gimp_image_get_foo_by_name
functions by making use of gimp_container_get_child_by_name().
2003-09-03 Simon Budig <simon@gimp.org>
* app/vectors/gimpstroke.c
* app/vectors/gimpbezierstroke.c: Two small hacks to make the
editing behave more symmetric (no more a user visible difference
between extending to the start or to the end of a stroke).
* app/tools/gimpvectortool.c: Use dashed lines for the connection
between the anchor and the handles. Looks great IMHO.
2003-09-03 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.[ch]: properly keep track of the
active anchor and retrieve that information after a _thaw () so
that proper editing is possible after an undo. Now the
vector_tool->cur_* variables are constantly updated in
_oper_update () so that we don't need to determine them in
_button_press () again.
On request by Jimmac and Joao connecting two stroke-ends now
works by activating one endpoint and clicking on the other
endpoint in Insert/Delete Mode.
2003-09-03 Pedro Gimeno <pggimeno@wanadoo.es>
* ccanalyze.c (analyze): use Alpha channel and selection
channel info when available to build the histogram and to
include/exclude colors in the color count. Fixes bug #121097
and handling of INDEXEDA images which was broken.
(histogram, insertcolor, fillPreview): updated to use
gdoubles where appropriate.
2003-09-03 Sven Neumann <sven@gimp.org>
* HACKING
* autogen.sh: require libtool version 1.5.0 or newer when building
on Win32. Completely untested but it should fix bug #120953.
2003-09-03 Sven Neumann <sven@gimp.org>
* devel-docs/gbr.txt
* plug-ins/common/gbr.c: applied a patch from Guillermo S. Romero
that fixes loading of v1 brushes and documents the difference
to version 2 of the brush file format (bug #121304).
2003-09-03 Sven Neumann <sven@gimp.org>
* app/tools/gimpclonetool.c: Ctrl only sets the clone source when
Shift isn't pressed at the same time (fixes bug #121324).
2003-09-03 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs-generic.h (dissolve_pixels)
* app/composite/gimp-composite-generic.c
(gimp_composite_dissolve_any_any_any_generic): fixed a bug in the
dissolve algorithm (bug #121305).
2003-09-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-mask.[ch]: removed the feather(), sharpen(),
all(), invert(), border(), grow() and shrink() wrappers.
* app/core/gimpselection.[ch]: changed gimp_selection_invalidate()
and gimp_selection_push_undo() to take GimpChannel parameters, not
GimpSelection ones. They will be made virtual GimpChannel
functions anyway.
* app/core/gimpedit.c
* app/gui/select-commands.c
* app/widgets/gimpselectioneditor.c
* tools/pdbgen/pdb/selection.pdb: changed accordingly.
* app/pdb/selection_cmds.c: regenerated.
* app/composite/gimp-composite.c (gimp_composite_init): Turn on
SSE, SSE2, and 3dnow instruction sets.
* app/paint-funcs/paint-funcs.c (initial_sub_region): Fixed
uninitialised data in the special case for dissolve.
This is the cause of Bug #121213.
2003-09-03 Sven Neumann <sven@gimp.org>
* app/Makefile.am (IGNORE_HFILES): added some more files to ignore.
* app/app-sections.txt: some updates, a lot more are needed.
2003-09-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.[ch]: made all functions which push an
undo step virtual and added them all as default implementations.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpselection.[ch]: new object which is a GimpChannel
subclass and implements all of its virtual functions, pushes
an image_mask undo and chains up with "push_undo = FALSE".
* app/core/gimpimage-mask.[ch]: made most functions simple
wrappers like gimp_channel_invert(gimp_image_get_mask(gimage));
so the API stays the same for now.
* app/core/gimpimage.[ch]: create a GimpSelection object
as gimage->selection_mask. Removed "gboolean mask_stroking"
since it is in GimpSelection now.
* app/xcf/xcf-load.c (xcf_load_channel_props): added an evil hack
which turns a GimpChannel into a GimpSelection once we figured the
loaded channel is the selection.
* app/core/gimplayer.c (gimp_layer_create_mask):
gimp_channel_clear() takes an additional "const gchar *undo_desc"
parameter now.
* app/core/gimpscanconvert.c (gimp_scan_convert_to_channel): set
mask->bounds_known to FALSE before returning the new channel
* app/tools/gimpiscissorstool.c (iscissors_convert): no need to
call gimp_channel_invalidate_boundary() on the channel returned by
the above function.
* app/core/gimpchannel.[ch]: removed
gimp_channel_invalidate_boundary() since it is no longer needed.
2003-09-03 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimpcolorspace.[ch] (gimp_rgb_to_cmyk_int): made
pullout a percentage instead of a maximal value.
(gimp_rgb_to_cmyk): added a pullout parameter here as well.
* app/gui/info-window.c
* plug-ins/common/newsprint.c: changed accordingly.
* modules/colorsel_cmyk.c: allow to specify the amount of black
pulled out when converting to CMYK.