Works for all item types, and has much less functions and parameters
than the drawable transform API because it uses the new context
states. Untested and not finished!
Instead, add utility functions that calculate the centers for rotate
and flip and use them where we used to pass "auto_center". This looks
pretty much poinless, but a commit will follow that makes it look
better...
There is nothing drawable-specific in there, and having them on
GimpItem enables some simplifications, esp. in upcoming PDB
wrappers. None of these refactorings is in this commit though.
The gimp_drawable_fill() already mentioned the bucket fill tool.
However the procedure that the developer is most likely looking
for is gimp_edit_fill(), so mention that as well.
which all take "parent" parameters and allow to insert items in a
tree. We don't have channel or vectors trees (yet) but API symmetry is
more important here than a currently useless parameter.
Which replaces all the deparate functions to turn layers, channels,
layer masks and vectors into selections. Use the new virtual function
all over the place instead of calling the functions in
gimpchannel-select.c manually.
The item groups has all the duplicated functionality from drawable
and vectors (name, visible, linked etc).
Hijack the unused GIMP_PDB_REGION and turn it into GIMP_PDB_ITEM;
change all protocol aware files accordingly and bump the protocol
version number. Change script-fu to handle the new type.
Add "image" parameter to gimp_pdb_item_is_attached() and if non-NULL,
make sure the item is attached to that image, and not only attached to
any image. Change wrappers to pass an image where it makes sense.
Fix totally broken value ranges of integer PDB parameters. Magically,
the bug was affecting only exactly the two cases mentioned in above
bug report.
* tools/pdbgen/pdb.pl (arg_parse): return <, <=, > and >= literally
instead of applying a mapping that was originally meant for
generated C code that would e.g. transform "0 <= int32 < 10" into
"if (value < 0 || value >= 10) fail". This inversion of all
operators is now wrong because PDB parameters have been turned into
GParamSpecs which always need inclusive ranges as min and max
values.
* tools/pdbgen/pdbgen.pl (arrayexpand): generated array length type
specs must be "0 <= int32", not "0 < int32".
* tools/pdbgen/app.pl: when generating integer param specs, check if
the value range is specified in terms of < instead of <=, and
add/subtract 1, resuting in the inclusive range needed for integer
GParamSpecs.
* app/pdb/color-cmds.c: regenerated, fixing the two broken ranges
mentioned in the bug report.
Will enable it again when I fixed it properly, it's clearly a
non-trivial problem that needs some thinking. Disabled for now because
it causes crashes.
"lock-content" will be separate from "is-group" soon, so add separate
checks for groups. Also remove some checks that were added to make
wrappers invokable even though the group appeared locked.
Flipping horizontally and vertically as well as rotating by multiples
of 90° works fine now for group layers, enable it even though they
appear locked. It seems that group == locked idea is not as allmighty
as i thought :(
* app/pdb/gimppdb-utils.[ch]: add "gboolean writable" to
gimp_pdb_layer_is_text_layer() because that's called on
all text layers anyway.
* tools/pdbgen/pdb/text_layer.pdb
* tools/pdbgen/pdb/vectors.pdb: pass TRUE if we want to modify the layer.
* app/pdb/text-layer-cmds.c
* app/pdb/vectors-cmds.c: regenerated.
* app/pdb/gimppdb-utils.[ch]: add "gboolean writable" parameter to
gimp_pdb_item_is_attached() because this function is called on
almost all items where a check for locked is needed.
* tools/pdbgen/pdb/*.pdb: pass writable = TRUE in all checks for items
that are modified. Add explicit calls to gimp_pdb_item_is_writable()
in some rare cases.
* app/pdb/*-cmds.c: regenerated.
* app/core/gimpimage.[ch]: make the parent parameter public in
add_layer(), add_layers(), add_channel() and add_vectors().
* app/vectors/gimpvectors-import.[ch]: add parent parameters to
the vectors import functions.
* app/core/gimpchannelundo.[ch]
* app/core/gimplayerundo.[ch]
* app/vectors/gimpvectorsundo.[ch]
* app/core/gimpimage-undo-push.[ch]: remember the parent item when
removing layers, channels and vectors.
* app/actions/channels-commands.c
* app/actions/debug-commands.c
* app/actions/edit-commands.c
* app/actions/layers-commands.c
* app/actions/vectors-commands.c
* app/core/gimp-edit.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-quick-mask.c
* app/core/gimplayer-floating-sel.c
* app/core/gimpselection.c
* app/core/gimptemplate.c
* app/dialogs/file-open-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/text/gimptext-compat.c
* app/tools/gimptexttool.c
* app/tools/gimpvectortool.c
* app/widgets/gimptoolbox-dnd.c
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/paths.pdb
* tools/pdbgen/pdb/vectors.pdb: pass NULL as parent item to above
functions and add FIXMEs all over the place because there is some
more hacking needed to make adding with index = -1 (on top of the
current item) work again.
* app/pdb/image-cmds.c
* app/pdb/paths-cmds.c
* app/pdb/vectors-cmds.c: regenerated.
* app/core/gimpimage-duplicate.c: duplicate the original image's
tree structure in the copy.
* app/widgets/gimpitemtreeview.[ch]: add parent to GimpAddItemFunc,
add utility function gimp_item_tree_view_get_drop_index() which
figures where to add something dropped to an item tree.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: changed accordingly, using above
new GimpItemTreeView API.
Use 0666 as permissions instead of 0644 and let the user's umask care
about restricting, so creating a file with open() behaves the same way
as with fopen().
2009-03-31 Sven Neumann <sven@gimp.org>
Bug 568479 – add PDB procedures to manipulate size of text box
* tools/pdbgen/pdb/text_layer.pdb: add gimp-text-layer-resize,
based on a patch from Barak Itkin.
* app/pdb/internal-procs.c
* app/pdb/text-layer-cmds.c
* libgimp/gimptextlayer_pdb.[ch]: regenerated.
svn path=/trunk/; revision=28235
2009-03-22 Michael Natterer <mitch@gimp.org>
* libgimp/gimpbrushselectbutton.c
* libgimp/gimpexport.c
* libgimp/gimpfontselectbutton.c
* libgimp/gimpgradientselectbutton.c
* libgimp/gimpimagecombobox.c
* libgimp/gimpitemcombobox.c
* libgimp/gimppaletteselectbutton.c
* libgimp/gimppatternselectbutton.c
* libgimp/gimpprogressbar.c
* libgimp/gimpui.c
* libgimp/gimpzoompreview.c
* tools/test-clipboard.c: use accessors for various members of
GTK+ structures that don't exist any longer when GSEAL_ENABLE is
defined.
svn path=/trunk/; revision=28191
2009-03-04 Sven Neumann <sven@gimp.org>
Bug 574149 – Can't get name/filename of files loaded from URI
* tools/pdbgen/pdb/image.pdb: added new procedure
gimp-image-get-uri.
* app/pdb/image-cmds.c
* libgimp/gimpimage_pdb.c: regenerated.
* plug-ins/pygimp/pygimp-image.c: wrap the new procedure into an
Image attribute.
svn path=/trunk/; revision=28103
2009-03-04 Sven Neumann <sven@gimp.org>
Bug 574149 – Can't get name/filename of files loaded from URI
* tools/pdbgen/pdb/image.pdb (image_get_name_invoker): use
gimp_image_get_display_name().
* app/pdb/image-cmds.c
* libgimp/gimpimage_pdb.c: regenerated.
svn path=/trunk/; revision=28099
2009-01-17 Michael Natterer <mitch@gimp.org>
* all files with a GPL header and all COPYING files:
Change licence to GPLv3 (and to LGPLv3 for libgimp).
Cleaned up some copyright headers and regenerated the parsers in
the ImageMap plugin.
svn path=/trunk/; revision=27913
2008-12-15 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/pattern.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/brush.pdb
* tools/pdbgen/pdb/patterns.pdb: need to do the change to
temp_buf_get_data() here for the generated PDB code.
svn path=/trunk/; revision=27795
2008-12-04 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/convert.pdb: fixed an error in the
documentation
of the gimp-image-convert-rgb procedure.
* app/pdb/convert-cmds.c
* libgimp/gimpconvert_pdb.c: regenerated.
svn path=/trunk/; revision=27758
2008-11-22 Michael Natterer <mitch@gimp.org>
* app/core/gimpselection.[ch]: make the entire selection
API take GimpSelection arguments, not GimpChannel.
Clean up gimp_selection_load() a bit.
* app/actions/select-commands.c
* app/core/gimp-edit.c
* app/core/gimpdrawable-transform.c
* app/core/gimpimage-quick-mask.c
* app/tools/gimpeditselectiontool.c
* tools/pdbgen/pdb/selection.pdb: add the needed casts.
* app/pdb/selection-cmds.c: regenerated.
svn path=/trunk/; revision=27711
2008-11-09 Michael Natterer <mitch@gimp.org>
* app/core/gimplayer-floating-sel.[ch]: remove
floating_sel_remove() and reorder one function.
* app/core/gimpimage.c (gimp_image_remove_layer): add the single
line of special code that needs to be done when removing a
floating selection.
* app/core/gimpselection.c
* app/actions/layers-commands.c
* tools/pdbgen/pdb/floating_sel.pdb: changed accordingly.
* app/pdb/floating-sel-cmds.c: regenerated.
* app/core/core-enums.[ch]
* app/core/gimpimage-undo.c: remove enum value
GIMP_UNDO_GROUP_FS_REMOVE.
svn path=/trunk/; revision=27583
2008-11-09 Michael Natterer <mitch@gimp.org>
Bye bye floating_sel_rigor() and floating_sel_relax():
* app/core/gimpdrawable.[ch] (gimp_drawable_init_src_region):
implement compositing the floating selection on the fly. Add
return parameter "TileManager **temp_tiles" which returns the temp
buffer used for compositing; the caller has to unref the tiles.
* app/core/gimpchannel-project.c
* app/core/gimplayer-project.c: unref the temp_tiles.
* app/core/gimplayer.[ch]: remove members fs.backing_store and
fs.initial.
* app/core/gimplayer-floating-sel.[ch]: remove functions rigor(),
relax(), store() and restore(), they are not needed any longer.
Some minor cleanup, more to come.
* app/core/gimpprojection-construct.c: don't composite the
floating selection before projecting because that happens on the
fly now.
* app/core/core-enums.[ch]
* app/core/gimpfloatingselundo.c
* app/core/gimpimage-undo-push.[ch]: remove the rigor and relax
undos.
* app/core/gimpdrawable.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage.c
* app/core/gimplayer.c
* app/xcf/xcf-save.c: remove all calls to rigor and relax and all
implementations of virtual functions that were just there to
rigor/releax around chaining up.
* tools/pdbgen/pdb/floating_sel.pdb: remove all code from the
rigor and relax wrappers and deprecate the API.
* app/pdb/floating-sel-cmds.c
* libgimp/gimpfloatingsel_pdb.[ch]: regenerated.
* plug-ins/file-xjt/xjt.c: don't call rigor and relax.
svn path=/trunk/; revision=27579
2008-11-06 Sven Neumann <sven@gimp.org>
* tools/gimp-mkenums: use NC_() to mark enum values for
translation.
Use a lower-case short form of the type name as translation
context.
* libgimp/libgimp-intl.h: define the NC_() macro as noop.
* libgimpbase/gimpbasetypes.[ch]
* libgimpbase/gimpbase.def: added new functions to set and
get a translation context on an enum type.
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/paint/Makefile.am
* app/plug-in/Makefile.am
* app/text/Makefile.am
* app/tools/Makefile.am
* app/widgets/Makefile.am
* libgimp/Makefile.am
* libgimpbase/Makefile.am:
* libgimpconfig/Makefile.am
* libgimpthumb/Makefile.am
* libgimpwidgets/Makefile.am: register the translation context
with the enum types.
* app/display/display-enums.h
* libgimpbase/gimpbaseenums.h
* libgimpconfig/gimpcolorconfig-enums.h: removed old-style
explicit
translation context.
* app/base/base-enums.c
* app/core/core-enums.c
* app/display/display-enums.c
* app/paint/paint-enums.c
* app/plug-in/plug-in-enums.c
* app/text/text-enums.c
* app/tools/tools-enums.c
* app/widgets/widgets-enums.c
* libgimpbase/gimpbaseenums.c
* libgimpconfig/gimpcolorconfig-enums.c
* libgimpwidgets/gimpwidgetsenums.c: regenerated.
svn path=/trunk/; revision=27562
2008-11-02 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.[ch]: add new functions
gimp_image_get_layer_iter(), channel_iter() and vectors_iter()
which return the GList inside the resp. GimpList.
* app/actions/channels-actions.c
* app/actions/layers-actions.c
* app/actions/vectors-actions.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-crop.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-item-list.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/core/gimpimage.c
* app/core/gimpimage.h
* app/core/gimpprojection-construct.c
* app/display/gimpdisplayshell-draw.c
* app/file/file-open.c
* app/tools/gimpaligntool.c
* app/tools/gimpdrawtool.c
* app/vectors/gimpvectors-compat.c
* app/vectors/gimpvectors-export.c
* app/widgets/gimplayertreeview.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/image.pdb: use the new functions instead of
peeking both into the image and the list. Remove inclusions of
"gimplist.h" or change them into "gimpcontainer.h" if needed.
* app/pdb/image-cmds.c: regenerated.
svn path=/trunk/; revision=27524
2008-10-27 Sven Neumann <sven@gimp.org>
* libgimpbase/gimpbaseenums.[ch]: added new enum
GimpTextHintStyle.
* libgimp/gimpenums.c.tail
* tools/pdbgen/enums.pl: regenerated.
* app/text/gimptext.[ch]: added new property "hint-style".
Removed
"autohint" property and mapped the boolean property "hinting" to
the new enum property "hint-style".
* app/text/gimptextlayout-render.c
(gimp_text_layout_render_flags):
use "hint-style".
* app/tools/gimptextoptions.[ch]: changed tool options
accordingly.
* tools/pdbgen/pdb/text_layer.pdb: deprecated the "hinting" API
and introduced getters and setters for "hint-style".
* app/pdb/text-layer-cmds.c
* app/pdb/internal-procs.c
* libgimp/gimptextlayer_pdb.[ch]: regenerated.
svn path=/trunk/; revision=27432
2008-10-25 Michael Natterer <mitch@gimp.org>
* app/core/gimpstrokeoptions.[ch]: add "gboolean use_context_color"
parameter to gimp_stroke_options_new() and set the passed context
as parent of the new options only if it's TRUE. Also fixed the
GimpConfig::duplicate() implementation to really duplicate the
object and not just return an object containing default values.
* app/core/gimpfilloptions.[ch]: add gimp_fill_options_new().
* app/actions/select-commands.c
* app/dialogs/stroke-dialog.c
* app/actions/vectors-commands.c
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb: pass TRUE to gimp_stroke_options_new().
* app/pdb/edit-cmds.c
* app/pdb/paths-cmds.c: regenerated.
svn path=/trunk/; revision=27393
2008-10-15 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb.pl: reindent the list of PDB types and remove
the unused and deprecated types "boundary" and "region". Also
remove "status" because it is unused (and unneeded and
unimplemented).
svn path=/trunk/; revision=27287
2008-10-09 Michael Natterer <mitch@gimp.org>
Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h
had a GEGL dependency (they will have in the next commit, but I
wanted to keep the commit separate).
* app/dialogs/Makefile.am
* app/file/Makefile.am
* app/gui/Makefile.am
* app/menus/Makefile.am
* app/paint/Makefile.am
* app/plug-in/Makefile.am
* app/text/Makefile.am
* app/vectors/Makefile.am
* app/widgets/Makefile.am
* app/xcf/Makefile.am: add GEGL_CFLAGS.
* app/actions/*.c
* app/core/*.c
* app/dialogs/*.c
* app/display/*.c
* app/file/*.c
* app/gui/*.c
* app/menus/*.c
* app/paint/*.c
* app/pdb/gimppdb-utils.c
* app/pdb/gimpprocedure.c
* app/plug-in/*.c
* app/text/*.c
* app/tools/*.c
* app/vectors/*.c
* app/widgets/*.c
* app/xcf/*.c: add <gegl.h> or replace <glib-object.h> by <gegl.h>
to all files which include a drawable subclass or gimpimage.h
* tools/pdbgen/app.pl: include <gegl.h> instead of <glib-object.h>
in all generated files.
* app/pdb/*-cmds.c: regenerated.
* data/images/gimp-splash.png: the goat is still sleeping.
By Aurore Derriennic.
svn path=/trunk/; revision=27202
2008-10-09 Michael Natterer <mitch@gimp.org>
Remove the last code duplication from the undo system (or if not
the last then at least the most ugly):
* app/core/gimpimage.[ch] (gimp_image_add_layer,channel,vectors):
add "gboolean push_undo" parameter and add the item without
touching undo if it's TRUE. Changed assertions from
g_object_is_floating() to !gimp_item_is_attached() so they also
take items from the undo stack and not only newly created ones.
(gimp_image_remove_layer,channel,vectors): add "push_undo"
parameter here too. Also add a "new_active" parameter where an
optional new active item can be passed.
(gimp_image_remove_layer,channel): these functions must not be
called with push_undo=FALSE and a floating selection attached to
the layer/channel. This can't currently happen; added warnings in
case other code is changed and makes it happen anyway.
* app/core/gimpchannelundo.c
* app/core/gimplayerundo.c
* app/vectors/gimpvectorsundo.c: use above functions to add/remove
items instead of duplicating (parts of) their code. Pass
push_undo=FALSE and the previously active item to the remove()
functions.
* app/actions/channels-commands.c
* app/actions/edit-commands.c
* app/actions/layers-commands.c
* app/actions/vectors-commands.c
* app/core/gimp-edit.c
* app/core/gimpchannelundo.c
* app/core/gimpimage-crop.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-quick-mask.c
* app/core/gimpimage-scale.c
* app/core/gimplayer-floating-sel.c
* app/core/gimplayerundo.c
* app/core/gimpselection.c
* app/core/gimptemplate.c
* app/display/gimpdisplayshell-dnd.c
* app/text/gimptext-compat.c
* app/tools/gimptexttool.c
* app/tools/gimpvectortool.c
* app/vectors/gimpvectors-import.c
* app/vectors/gimpvectorsundo.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpitemtreeview.[ch]
* app/widgets/gimplayertreeview.c
* app/widgets/gimptoolbox-dnd.c
* app/widgets/gimpvectorstreeview.c
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/paths.pdb: changed accordingly (pass TRUE
unless it's a new image like when loading and XCF file).
* app/pdb/image-cmds.c
* app/pdb/paths-cmds.c: regenerated.
svn path=/trunk/; revision=27200
2008-10-08 Michael Natterer <mitch@gimp.org>
Quick hack I needed for debugging and which doesn't hurt:
* tools/test-clipboard.c (test_clipboard_paste): allow to paste to
STDOUT by passing '-' as filename.
svn path=/trunk/; revision=27177
2008-10-01 Sven Neumann <sven@gimp.org>
* tools/gimptool.c: create the target directory and intermediate
parent directories as needed. Restores the behavior of the
gimptool shell script.
svn path=/trunk/; revision=27101
* tools/pdbgen/pdb/selection.pdb (selection_layer_alpha): Update
documentation, the layer does not need to have an alpha channel. A
layer without an alpha channel is considered opaque.
* app/pdb/selection-cmds.c
* libgimp/gimpselection_pdb.c: Regenerated.
svn path=/trunk/; revision=27040
2008-09-24 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/image.pdb: added new scale procedures that
allow to specify the interpolation explicitly. Fixes bug
#486977.
Also pass the progress parameter to the scale and rotate
functions.
* app/pdb/image-cmds.c
* app/pdb/internal-procs.c
* app/pdb/layer-cmds.c
* libgimp/gimpimage_pdb.[ch]
* libgimp/gimplayer_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
svn path=/trunk/; revision=27039
2008-09-24 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/image.pdb: fixed error and some typos in the
PDB documentation.
* app/pdb/image-cmds.c
* libgimp/gimpimage_pdb.c: regenerated.
svn path=/trunk/; revision=27038
2008-09-18 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/drawable.pdb: gimp_drawable_mask_intersect()
and gimp_drawable_mask_bounds() may only be used on attached
drawables. Added missing checks.
* app/pdb/drawable-cmds.c: regenerated.
svn path=/trunk/; revision=26983
2008-09-16 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.[ch]: added GError parameter to
gimp_image_{raise,lower}_{channel,layer,vectors} functions and
removed calls to g_message().
* app/actions/channels-commands.c
* app/actions/layers-commands.c
* app/actions/vectors-commands.c: pass NULL for the GError
parameter as these actions are insensitive if they would fail.
* tools/pdbgen/pdb/image.pdb: changed accordingly. Corrected the
documentation.
* app/pdb/image-cmds.c
* libgimp/gimpimage_pdb.c: regenerated.
svn path=/trunk/; revision=26953
2008-09-15 Michael Natterer <mitch@gimp.org>
* app/core/gimplayer.[ch] (gimp_layer_add_mask): add GError
parameter and replace g_message() by g_set_error().
* app/core/gimplayermaskundo.c
* app/xcf/xcf-load.c
* app/actions/layers-commands.c: pass NULL errors since these
places know what they are doing. Ha ha...
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/image.pdb: pass the error so we get more real
error messages for failed PDB calls.
* app/pdb/image-cmds.c
* app/pdb/layer-cmds.c: regenerated.
svn path=/trunk/; revision=26948
2008-09-15 Michael Natterer <mitch@gimp.org>
Bug 552413 – Script triggers Gimp-Core-CRITICAL
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: add some more checks that produce
proper PDB error messages when adding and removing layer masks
instead of having the code run into assertions in the called core
functions. Also add some more checks when removing layers,
channels or vectors.
* app/pdb/image-cmds.c
* app/pdb/layer-cmds.c: regenerated.
svn path=/trunk/; revision=26947
2008-09-04 Tor Lillqvist <tml@novell.com>
* tools/gimptool.c: Make it compile without warnings also with gcc
-Wwrite-strings. Use cmd.exe instead of command.com to execute the
COPY and DEL commands on Windows.
svn path=/trunk/; revision=26865
2008-08-30 Michael Natterer <mitch@gimp.org>
* tools/test-clipboard.c (test_clipboard_paste): fix length
calculation (in fact, no calculation is needed at all).
svn path=/trunk/; revision=26822
2008-08-23 Lars-Peter Clausen <lars@metafoo.de>
* tools/pdbgen/pdb/gradient.pdb
(gimp_gradient_segment_range_blend_(colors|opacity)): Don't crash
if the index of the last segment is out of range.
* app/pdb/gradient-cmds.c: regenerated.
svn path=/trunk/; revision=26723
2008-08-19 Sven Neumann <sven@gimp.org>
Complements the fix for bug #344818:
* libgimpbase/gimpbaseenums.[ch]: added new enum
GimpPDBErrorHandler.
* tools/pdbgen/enums.pl: regenerated.
* app/plug-in/gimpplugin.[ch]: added error_handler to
GimpPlugIn.
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_proc_run):
only display an error message for a failed procedure call if the
plug-in's error-handler is set to
GIMP_PDB_ERROR_HANDLER_INTERNAL.
* tools/pdbgen/pdb/plug_in.pdb: added PDB getter and setter for
the plug-in's error-handler.
* app/pdb/plug-in-cmds.c
* app/pdb/internal-procs.c
* libgimp/gimpenums.c.tail
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* plug-ins/common/file-compressor.c
* plug-ins/file-uri/uri.c: set the error-handler to
GIMP_PDB_ERROR_HANDLER_PLUGIN as these plug-ins are forwarding
the
error with their return values.
svn path=/trunk/; revision=26656
2008-08-16 Sven Neumann <sven@gimp.org>
If a procedure call fails, pass a string describing the error as
the second return value. First step towars fixing bug #344818.
* app/pdb/gimpprocedure.[ch] (gimp_procedure_get_return_values):
added a GError parameter. If it is set, pass the error message
to
the return values.
* app/pdb/gimppdberror.h: added some more error codes.
* app/pdb/gimppdb.c
* app/xcf/xcf.c: pass errors to
gimp_procedure_get_return_values().
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_proc_run):
show a different error message for execution vs. calling errors.
* app/plug-in/gimpplugin-progress.c
(gimp_plug_in_progress_cancel_callback): pass the error
GIMP_PDB_CANCELLED to gimp_procedure_get_return_values().
* app/plug-in/gimppluginmanager-call.[ch]
(gimp_plug_in_manager_call_run): removed the
'destroy_return_vals'
parameter.
* app/plug-in/gimppluginprocedure.c: destroy the return values
here.
* app/plug-in/gimppluginprocframe.c: pass an error to
gimp_procedure_get_return_values().
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/fileops.pdb: generate code that passes the
error to gimp_procedure_get_return_values().
* app/pdb/*-cmds.c: regenerated.
* plug-ins/pygimp/pygimp-pdb.c: extract the error message from
the
return values and pass it to the exception that is thrown.
svn path=/trunk/; revision=26593
2008-08-11 Michael Natterer <mitch@gimp.org>
* configure.in: change all LIBFOO variables to FOO_LIBS for
consistency, could get rid of some variables alltogether since
PNG_CHECK_MODULES() already defined FOO_LIBS.
* tools/Makefile.am
* modules/Makefile.am
* plug-ins/file-ico/Makefile.am
* plug-ins/file-jpeg/Makefile.am
* plug-ins/file-psd/Makefile.am
* plug-ins/file-xjt/Makefile.am
* plug-ins/common/plugin-defs.pl
* plug-ins/common/mkgen.pl: changed accordingly.
* plug-ins/common/Makefile.am: regenerated.
svn path=/trunk/; revision=26498
2008-07-29 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/vectors.pdb: added the real name of the
author
of the new PDB function.
* app/pdb/vectors-cmds.c: regenerated.
svn path=/trunk/; revision=26333
2008-07-14 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/palette.pdb: added new PDB function
gimp-palette-get-colors that retrieves all colors from a palette
in a single call. Based on patches from bug #332206.
* app/pdb/palette-cmds.c
* app/pdb/internal-procs.c
* libgimp/gimppalette_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
svn path=/trunk/; revision=26192
2008-07-14 Sven Neumann <sven@gimp.org>
Add new PDB data type PDB_COLORARRAY for using arrays of GimpRGB
colors as argument or return value.
* libgimpbase/gimpbaseenums.[ch] (enum GimpPDBArgType): replaced
the unused GIMP_PDB_BOUNDARY with GIMP_PDB_COLORARRAY.
* libgimpbase/gimpprotocol.h: increased GIMP_PROTOCOL_VERSION.
(struct _GPParam): added d_colorarray entry to the union.
* libgimpbase/gimpprotocol.c
* libgimp/gimp.[ch]
* app/pdb/gimp-pdb-compat.c
* app/plug-in/plug-in-params.c
* app/plug-in/gimpplugin-message.c
* tools/pdbgen/pdb.pl: deal with the new data type.
* tools/pdbgen/enums.pl: regenerated.
* plug-ins/pygimp/pygimp-pdb.c
* plug-ins/script-fu/scheme-wrapper.c: handle the new data type.
svn path=/trunk/; revision=26189
2008-05-21 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/gimpdrawable-process.[ch]: new file holding code to
apply a PixelProcessor to the full drawable.
* app/core/gimpdrawable-desaturate.c
* app/core/gimpdrawable-invert.c: use the new helper function.
* app/core/gimpdrawable-desaturate.[ch]
(gimp_drawable_desaturate):
take a GimpProgress parameter.
* tools/pdbgen/pdb/color.pdb: changed accordingly.
* app/pdb/color-cmds.c: regenerated.
svn path=/trunk/; revision=25734
2008-04-26 João S. O. Bueno <gwidion@mpc.com.br>
* AUTHORS
* authors.xml
* tools/pdb/stddefs.pdb: Fix my name back to single name
in most important files
svn path=/trunk/; revision=25537
2008-04-21 Michael Natterer <mitch@gimp.org>
Move the shadow tiles from the image to the drawable.
Fixes bug #100469.
* app/core/Makefile.am
* app/core/gimpdrawable-shadow.[ch]: new files implementing
the shadow tiles.
* app/core/gimpimage.[ch]: remove the shadow tile manager from the
GimpImage struct. Remove gimp_image_get_shadow_tiles() and
_free_shadow_tiles().
* app/core/gimpdrawable.[ch]: add the shadow tile manager
here. Remove get_shadow_tiles() and merge_shadow(). Free the
shadow tiles in finalize and when the drawable gets removed from
the image.
* app/core/gimpdrawable-brightness-contrast.c
* app/core/gimpdrawable-color-balance.c
* app/core/gimpdrawable-colorize.c
* app/core/gimpdrawable-curves.c
* app/core/gimpdrawable-desaturate.c
* app/core/gimpdrawable-equalize.c
* app/core/gimpdrawable-hue-saturation.c
* app/core/gimpdrawable-invert.c
* app/core/gimpdrawable-levels.c
* app/core/gimpdrawable-operation.c
* app/core/gimpdrawable-posterize.c
* app/core/gimpdrawable-threshold.c
* app/core/gimpimagemap.c: changed accordingly. Free the shadow tiles
after using them.
* app/plug-in/gimpplugin-cleanup.[ch]: add
gimp_plug_in_cleanup_add_shadow() and _remove_shadow() which keep
track of whether shadow tiles were created on behalf of a plug-in
procedure.
(gimp_plug_in_cleanup): free shadow tiles which were created but
not destroyed by a plug-in procedure.
* app/plug-in/gimpplugin-message.c (plug_in_handle_tile_request):
call gimp_plug_in_cleanup_add_shadow() whenever a plug-in requests
shadow tiles.
* tools/pdbgen/pdb/drawable.pdb: use the new drawable shadow
API. Add new procedure gimp-drawable-free-shadow. Call
gimp_plug_in_cleaup_remove_shadow() when it gets called.
* tools/pdbgen/pdb/image.pdb: deprecate gimp-image-free-shadow.
Calling it has no effect any longer.
* app/pdb/drawable-cmds.c
* app/pdb/image-cmds.c
* app/pdb/internal-procs.c
* libgimp/gimpimage_pdb.[ch]
* libgimp/gimpdrawable_pdb.[ch]: regenerated.
svn path=/trunk/; revision=25510
2008-04-20 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-levels.[ch]: replaced unused parameter
"context" by "progress" and pass the progress on internally.
Factor common code out to gimp_drawable_levels_internal().
* tools/pdbgen/pdb/color.pdb: pass progress instead of context.
* app/pdb/color-cmds.c: regenerated.
svn path=/trunk/; revision=25501
2008-04-07 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/procedural_db.pdb (procedural_db_proc_exists):
canonicalize the procedure name and also try compat names.
* app/pdb/procedural-db-cmds.c: regenerated.
svn path=/trunk/; revision=25386
2008-04-04 Sven Neumann <sven@gimp.org>
* app/pdb/gimppdb-utils.[ch]: added test for floating items.
* tools/pdbgen/pdb/image.pdb: use it to improve error handling.
* app/pdb/image_cmds.c: regenerated.
svn path=/trunk/; revision=25356
2008-04-04 Sven Neumann <sven@gimp.org>
* app/pdb/gimppdb-utils.[ch]: added utility functions to check
the
image base type.
* tools/pdbgen/pdb/convert.pdb: use it so that we get a proper
error set on failure.
* app/pdb/convert_cmds.c: regenerated.
svn path=/trunk/; revision=25354
2008-04-03 Michael Natterer <mitch@gimp.org>
* app/pdb/gimppdb-utils.c
* tools/pdbgen/pdb/text_layer.pdb: GIMP_PDB_CALLING_ERROR and
GIMP_PDB_EXECUTION_ERROR are not from the GimpPdbErrorCode
enum. Use GIMP_PDB_INVALID_ARGUMENT instead.
* app/pdb/text_layer_cmds.c: regenerated.
svn path=/trunk/; revision=25351
2008-04-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-convert.c (gimp_image_convert): don't accept
palettes with more than 256 colors.
* tools/pdbgen/pdb/convert.pdb: fail here too for palettes
with > 256 colors. Fixes bug #525471.
* app/pdb/convert_cmds.c: regenerated.
svn path=/trunk/; revision=25348
2008-04-02 Sven Neumann <sven@gimp.org>
* tools/pdbgen/Makefile.am
* tools/pdbgen/pdb/text_layer.pdb: new text layer PDB API
created
by Marcus Heese (see bug #164539).
* app/pdb/Makefile.am
* app/pdb/text_layer_cmds.c: new generated file.
* libgimp/Makefile.am
* libgimp/gimptextlayer_pdb.[ch]: new generated files.
* app/pdb/internal_procs.[ch]
* libgimp/gimp_pdb.h
* tools/pdbgen/groups.pl: regenerated.
svn path=/trunk/; revision=25342
2008-04-02 Sven Neumann <sven@gimp.org>
* tools/pdbgen/app.pl: special treatment for gimppdberror.h to
get
a saner include order.
* app/pdb/floating_sel_cmds.c
* app/pdb/image_cmds.c: regenerated.
svn path=/trunk/; revision=25341
2008-04-02 Sven Neumann <sven@gimp.org>
* tools/pdbgen/stddefs.pdb: added shortcut for contributions
from
Marcus Heese.
* tools/pdbgen/pdb/drawable.pdb: added
gimp_drawable_is_text_layer(),
taken from the patch attached to bug #164539.
* app/pdb/internal_procs.c
* app/pdb/drawable_cmds.c
* libgimp/gimpdrawable_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
svn path=/trunk/; revision=25337
2008-03-06 Michael Natterer <mitch@gimp.org>
* app/pdb/gimppdb-utils.[ch]: add gimp_pdb_get_vectors_stroke()
which is a replacement for gimp_vectors_stroke_get_by_ID() and
sets an error message if the stroke doesn't exist.
* tools/pdbgen/pdb/vectors.pdb: use it.
* app/pdb/vectors_cmds.c: regenerated.
svn path=/trunk/; revision=25051
2008-02-07 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/app.pl: add some perl evilness to make the includes
in the generated files look almost like they should.
* tools/pdbgen/pdb/*.pdb: remove inclusion of "core/gimp.h" where
not needed, clean up lists of includes and functions and reorder
some functions to make more sense. Zero logic changed.
* app/pdb/*_cmds.c
* libgimp/gimpcontext_pdb.[ch]
* libgimp/gimpbrush_pdb.[ch]: regenerated.
svn path=/trunk/; revision=24829
2008-02-07 Michael Natterer <mitch@gimp.org>
* app/base/base-utils.[ch]: add get_pid() which returns getpid().
* app/base/base.c
* app/base/tile-swap.c
* app/core/gimp-utils.c
* app/plug-in/gimppluginshm.c
* app/widgets/gimpselectiondata.c
* tools/pdbgen/pdb/misc.pdb: use it instead of getpid() and remove
all the #ifdef'ed includes getpid() needs.
* tools/pdbgen/app.pl: remove support for these includes. Also
remove some perl cruft in the include handling which is not needed
any longer.
* app/pdb/misc_cmds.c: regenerated.
svn path=/trunk/; revision=24827
2008-02-04 Michael Natterer <mitch@gimp.org>
* app/base/gimphistogram.[ch]: add refcounting and replace free()
API by ref() and unref().
* app/core/gimpdrawable-equalize.c
* app/core/gimpdrawable-levels.c
* app/widgets/gimphistogrameditor.c
* tools/pdbgen/pdb/color.pdb: replace calls to
gimp_histogram_free() by gimp_histogram_unref().
* app/pdb/color_cmds.c: regenerated.
* app/widgets/gimphistogramview.c: reference the histograms so we
don't need the widget's users to keep them around while the widget
exists.
* app/tools/gimpcurvestool.[ch]: remove the histogram from the
tool struct and just create one locally to set it on the histogram
view widget.
Unrelated:
* app/tools/gimplevelstool.[ch]
* app/tools/gimpthresholdtool.[ch]: renamed "hist" members to
"histogram" plus some cleanup.
svn path=/trunk/; revision=24792
2008-02-04 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpdrawable-brightness-contrast.[ch]
* app/core/gimpdrawable-color-balance.[ch]
* app/core/gimpdrawable-colorize.[ch]
* app/core/gimpdrawable-curves.[ch]
* app/core/gimpdrawable-hue-saturation.[ch]
* app/core/gimpdrawable-posterize.[ch]
* app/core/gimpdrawable-threshold.[ch]: new files containing all
the code that was in pdb/color_cmds.c. Cleaned up and GEGL-enabled
everyting.
* tools/pdbgen/pdb/color.pdb: remove almost all code and simply call
the new functions.
* app/pdb/color_cmds.c: regenerated.
svn path=/trunk/; revision=24784
2008-01-22 Sven Neumann <sven@gimp.org>
* app/core/gimp.[ch]: added new function gimp_use_gegl().
* app/core/gimpdrawable-desaturate.c
* app/core/gimpdrawable-levels.c
* app/core/gimpdrawable-invert.c
* app/tools/gimpimagemaptool.c
* app/pdb/color_cmds.c
* tools/pdbgen/pdb/color.pdb: use it instead of accessing the
GimpCoreConfig struct directly.
svn path=/trunk/; revision=24668
2008-01-04 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/color.pdb: optionally use gegl where we already
have operations (breaking the indentation to keep the diff small
and readable).
* app/pdb/Makefile.am: add GEGL_CFLAGS.
* app/pdb/color_cmds.c: regenerated.
svn path=/trunk/; revision=24531
2007-12-14 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/edit.pdb: use gimp_pdb_get_buffer() which
sets a proper error instead of looking up the buffers manually.
* app/pdb/edit_cmds.c: regenerated.
svn path=/trunk/; revision=24363
2007-12-14 Michael Natterer <mitch@gimp.org>
* app/core/gimp-edit.[ch]: added GErrors when functions can fail.
* app/actions/edit-commands.c: handle the returned errors.
* tools/pdbgen/pdb/edit.pdb: same here (*don't* pass the error as
usual since these functions never fail but have a boolean return
value indicating success instead; ugly, but better than having the
gimp_message() calls in the core). Also changed the named buffer
cut and copy functions to do the same (never fail but return a
NULL buffer name on failure), so they behave as documented.
* app/pdb/edit_cmds.c: regenerated.
svn path=/trunk/; revision=24362
2007-12-11 Michael Natterer <mitch@gimp.org>
* app/pdb/Makefile.am
* app/pdb/gimppdb-utils.[ch]: new utility functions which look up
brushes, patterns etc. and set appropriate error messages if the
objects are not found.
* tools/pdbgen/pdb/brush.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/buffer.pdb
* tools/pdbgen/pdb/context.pdb
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/paint_tools.pdb
* tools/pdbgen/pdb/palette.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/pattern.pdb
* tools/pdbgen/pdb/patterns.pdb: use them here. Also set non_empty
to TRUE for all brush, pattern etc. names.
* app/pdb/brush_cmds.c
* app/pdb/brushes_cmds.c
* app/pdb/buffer_cmds.c
* app/pdb/context_cmds.c
* app/pdb/convert_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/paint_tools_cmds.c
* app/pdb/palette_cmds.c
* app/pdb/palettes_cmds.c
* app/pdb/pattern_cmds.c
* app/pdb/patterns_cmds.c: regenerated.
svn path=/trunk/; revision=24318
2007-12-07 Michael Natterer <mitch@gimp.org>
* app/core/gimpselection.[ch]: added GErrors to
gimp_selection_extract() and gimp_selection_float().
* app/core/gimp-edit.c
* app/tools/gimpeditselectiontool.c
* app/actions/select-commands.c: handle the returned error.
* app/core/gimpdrawable-transform.c: pass NULL errors since this
file knows what it does and won't get errors.
* tools/pdbgen/pdb/selection.pdb: pass the error.
* app/pdb/selection_cmds.c: regenerated.
svn path=/trunk/; revision=24286
2007-12-06 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore-stroke.[ch]: added GError arguments and
fixed all functions to abort when the first call to
gimp_paint_core_start() fails (it won't succeed either for the
next path or whatever segemts).
* app/core/gimpitem.[ch]: added GError to gimp_item_stroke()
* app/core/gimpselection.c
* app/core/gimpchannel.c
* app/vectors/gimpvectors.c: don't gimp_message() in
GimpItem::stroke() but set the error.
* app/dialogs/stroke-dialog.c
* app/actions/vectors-commands.c
* app/actions/select-commands.c: handle the returned errors.
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb
* tools/pdbgen/pdb/paint_tools.pdb: pass the error to the stroke
functions.
* app/pdb/paint_tools_cmds.c
* app/pdb/edit_cmds.c
* app/pdb/paths_cmds.c: regenerated.
svn path=/trunk/; revision=24273
2007-12-06 Michael Natterer <mitch@gimp.org>
Move some gimp_message() calls where they belong:
* app/core/gimplayer-floating-sel.[ch]: removed unreachable
gimp_message() in floating_sel_anchor() and added GError parameter
to floating_sel_to_layer().
* app/core/gimplayer.c
* app/core/gimpimage-quick-mask.c
* app/actions/layers-commands.c: pass NULL or an error as
appropriate and show the error message.
* tools/pdbgen/pdb/floating_sel.pdb: set the error when the passed
layer was no floating selection.
* app/pdb/floating_sel_cmds.c: regenerated.
svn path=/trunk/; revision=24272
2007-12-05 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/fileops.pdb: pass the error also to
file_utils_filename_to_uri().
* app/pdb/fileops_cmds.c: regenerated.
svn path=/trunk/; revision=24268
2007-12-05 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/image.pdb (set_resolution): set the error
instead of using gimp_message().
* app/pdb/image_cmds.c: regenerated.
svn path=/trunk/; revision=24266
2007-12-05 Michael Natterer <mitch@gimp.org>
* app/pdb/gimppdb-query.[ch]: added GError arguments and reduce
number of labels: to one by simply checking if the regex exists
before unreffing it.
* tools/pdbgen/pdb/procedural_db.pdb: pass the error to the query
functions.
* app/pdb/procedural_db_cmds.c: regenerated.
svn path=/trunk/; revision=24265
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/palette.pdb
* tools/pdbgen/pdb/brush.pdb: use the new error arg instead
of creating a GError and handling it internally.
* app/pdb/palette_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/brush_cmds.c: regenerated.
svn path=/trunk/; revision=24262
2007-12-03 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/fileops.pdb: pass the new error down to all
file functions which take GError arguments.
* app/pdb/fileops_cmds.c: regenerated.
svn path=/trunk/; revision=24258
2007-11-17 Tor Lillqvist <tml@novell.com>
* tools/gimptool.c: Ignore --msvc-syntax unless on Windows. Put
some Windows-only stuff inside ifdef.
svn path=/trunk/; revision=24179
2007-11-16 Tor Lillqvist <tml@novell.com>
Use the gimptool program on Unix, too, instead of the gimptool
script.
* configure.in
* Makefile.am: Drop gimptool script and gimptool-win32.c(.in)
* tools/gimptool.c
* tools/Makefile.am: Move gimptool-win32.c.in here and call it
just gimptool.c. Build and install on all platforms.
* tools/gimptool.c: Change accordingly.
* doc/gimptool.1.in: Document the --msvc-syntax option.
svn path=/trunk/; revision=24178
2007-11-05 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/image.pdb: create a libgimp C wrapper for
gimp-image-get-vectors-by-tattoo; this function was accidentally
forgotten in the 2.4 libgimp API.
* app/pdb/image_cmds.c
* libgimp/gimpimage_pdb.[ch]: regenerated.
svn path=/trunk/; revision=24066
2007-11-05 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.[ch]: don't recalculate the curve if the data
object is frozen. Recalculate on thaw instead. Made
gimp_curve_calculate() private and emit some GimpData::dirty
signals where appropriate.
* app/tools/gimpcurvestool.c
* app/widgets/gimpcurveview.c
* tools/pdbgen/pdb/color.pdb: changed accodingly (connect to "dirty"
instead of "notify" and added some freeze/thaw where approproate).
* app/pdb/color_cmds.c: regenerated.
svn path=/trunk/; revision=24063
2007-11-02 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpcurve-save.[ch]
* app/core/gimpcurve-load.[ch]
* app/core/gimpcurve.[ch]: new GimpData subclass which keeps a
curve as known from the curves tool. Pretty much unfinished, but
can do everything that used to be done by base/curves.c and more.
* app/base/curves.[ch]: stripped down to plain arrays of
uchar (the actual curve) and the LUT setup function. All the rest
is done by GimpCurve now.
* app/tools/gimpcurvestool.[ch]: use an array of GimpCurves
instead of the old Curves cruft. Use Curves only for the last step
of creating the LUT. Pretty much unfinished migration here too.
* tools/pdbgen/pdb/color.pdb: use a GimpCurve here too.
* app/pdb/color_cmds.c: regenerated.
svn path=/trunk/; revision=24041
2007-10-31 Michael Natterer <mitch@gimp.org>
* configure.in
* app/Makefile.am
* tools/Makefile.am: bump some more hardcoded 2.4 to 2.5
svn path=/trunk/; revision=24017
2007-10-25 Sven Neumann <sven@gimp.org>
* tools/Makefile.am
* tools/gimp-remote.[ch]
* tools/gimp-remote-x11.c: split gimp-remote into common and X11
specific code.
svn path=/trunk/; revision=23947
2007-10-16 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/gradient.pdb: increased the arbitrary upper
limit on the number of segments in
gimp-gradient-segment-range-split-uniform. The old value used to
create errors in the "Palette to Gradient" script for most of
our
palettes.
* app/pdb/gradient_cmds.c: regenerated.
svn path=/trunk/; revision=23838
2007-09-30 Sven Neumann <sven@gimp.org>
* app/core/gimp-utils.c (gimp_get_temp_filename): handle a NULL
extension and create a filename without file extension.
* tools/pdbgen/pdb/fileops.pdb
* app/pdb/fileops_cmds.c: allow NULL to be passed as extension
parameter to gimp_temp_name().
svn path=/trunk/; revision=23697
2007-09-25 Sven Neumann <sven@gimp.org>
* plug-ins/common/decompose.c: reverted "fix" for bug #477008.
* tools/pdbgen/pdb/display.pdb
* app/pdb/display_cmds.c: flush the image before creating a new
display for it. Fixes bug #477008 also for other plug-ins like
Screenshot.
svn path=/trunk/; revision=23650
2007-09-20 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.[ch]: added a load_proc member to GimpImage
and getters and setters for it.
* app/file/file-open.c (file_open_image): set the load
procedure,
but only if it hasn't been set already. Use the MIME type from
the
load procedure that is set on the image.
* tools/pdbgen/pdb/fileops.pdb (file_load_invoker): set the load
procedure. This causes it to be set when the URI plug-in calls
gimp-file-load to load the image.
* app/pdb/fileops_cmds.c: regenerated.
* app/widgets/gimpimagepropview.c
(gimp_image_prop_view_label_set_filetype): use the MIME type
from
the load procedure, in case that no save procedure is set.
svn path=/trunk/; revision=23597
2007-09-18 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/fileops.pdb: canonicalize the name of the
thumbnail loader procedure too. Fixes bug #477917.
* app/pdb/fileops_cmds.c: regenerated.
svn path=/trunk/; revision=23578
2007-08-24 Raphael Quinet <raphael@gimp.org>
* tools/pdbgen/pdb/selection.pdb: fixed incorrect description of
gimp-selection-is-empty, reported by pk. This function returns
TRUE when the selection is empty, but the description stated the
opposite.
* app/pdb/selection_cmds.c
* libgimp/gimpselection_pdb.c: regenerated.
svn path=/trunk/; revision=23368
2007-08-15 Sven Neumann <sven@gimp.org>
* configure.in: bumped the version to 2.4.0-rc1.
* README
* INSTALL: updated for the GIMP 2.4 release candidate(s).
* data/images/gimp-splash.png: added splash screen for the 2.4
release candidate(s).
* app/Makefile.am
* tools/Makefile.am: adjust targets for 2.4.
svn path=/trunk/; revision=23281
2007-08-11 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbaseenums.[ch]
* libgimpbase/gimpenv.[ch]: changed enum GimpUserDirectory and API
of gimp_user_directory() so that g_get_user_special_dir() can be
used instead as soon as we depend on GLib 2.14.
* tools/pdbgen/enums.pl: regenerated.
* app/widgets/gimpfiledialog.c
* plug-ins/pygimp/gimpmodule.c: changed accordingly.
svn path=/trunk/; revision=23212
2007-08-02 Michael Natterer <mitch@gimp.org>
Make sure image thumbnails that are saved or given to plugins are
constructed synchronously. Fixes bug #461703.
* app/core/gimpprojection.c (gimp_projection_pickable_flush):
invalidate the preview after constructing the projection.
* app/core/gimpimagefile.c (gimp_imagefile_save_thumb)
* tools/pdbgen/pdb/image.pdb (image_thumbnail): call
gimp_pickable_flush() on the projection so is constructed now, not
later.
* app/pdb/image_cmds.c: regenerated.
svn path=/trunk/; revision=23105
2007-07-25 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/progress.pdb: added new procedure gimp-progress-end.
* app/pdb/progress_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* plug-ins/print/print.[ch]
* plug-ins/print/print-settings.[ch]: end the progress and save
the settings from the "end-print" handler. The plug-in then
appears finished but keeps running in the background until it has
finished the print operation.
svn path=/trunk/; revision=22994
2007-07-05 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb.pl (arg_parse): allow the use of constants when
specifying limits for a PDB type.
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: use GIMP_MAX_IMAGE_SIZE as limit for
image and drawable sizes.
* tools/pdbgen/pdb/selection_tools.pdb: added missing include.
* app/pdb/channel_cmds.c
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
svn path=/trunk/; revision=22870
2007-06-11 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-preview.c: don't disable image previews
when
layer previews are disabled. We do not any longer create the
image
preview from the layer previews.
* app/core/gimpimagefile.c
* app/widgets/gimpthumbbox.c
* tools/pdbgen/pdb/image.pdb: thumbnail rendering is not any
longer disabled if layer previews are turned off.
* app/config/gimprc-blurbs.h (THUMBNAIL_SIZE_BLURB): removed
note
that has become invalid by the change above.
* app/core/gimpitem-preview.c: cosmetics.
* app/pdb/image_cmds.c: regenerated.
svn path=/trunk/; revision=22756
2007-06-07 Sven Neumann <sven@gimp.org>
* app/text/Makefile.am
* app/core/Makefile.am
* app/tools/Makefile.am
* app/display/Makefile.am
* app/widgets/Makefile.am
* app/base/Makefile.am
* app/paint/Makefile.am
* app/plug-in/Makefile.am
* libgimp/Makefile.am
* libgimpthumb/Makefile.am
* tools/pdbgen/Makefile.am
* libgimpwidgets/Makefile.am: applied the remaining parts of the
patch from Daniel Richard G. to fix out-of-source-tree builds
(bug #444960).
svn path=/trunk/; revision=22735
2007-05-06 Sven Neumann <sven@gimp.org>
* tools/defcheck.py: improved path handling. Allow to pass the
source directory on the command-line.
* Makefile.am (check-defs): pass $(top_srcdir) to defcheck.py.
(validate-authors): validate authors.xml in the srcdir.
* menus/Makefile.am (validate): changed output for consistency.
svn path=/trunk/; revision=22432
2007-05-05 Simon Budig <simon@gimp.org>
* tools/pdbgen/pdb/edit.pdb: make gimp-edit-paste-as-new not fail
at an empty clipboard, but return -1 as image id.
* app/pdb/edit_cmds.c
* libgimp/gimpedit_pdb.c: regenerated.
* plug-ins/script-fu/scripts/paste-as-brush.scm
* plug-ins/script-fu/scripts/paste-as-pattern.scm: Changed
accordingly, fixes bug #357059.
* modules/controller_linux_input.c: changed some axis names to
make more sense.
svn path=/trunk/; revision=22429
2007-05-05 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/app.pl (generate_pspec): use $flags and not a
literal GIMP_PARAM_READWRITE for the image paramspec's flags.
* app/pdb/image_cmds.c: regenerated.
svn path=/trunk/; revision=22425
2007-04-26 Michael Natterer <mitch@gimp.org>
* app/core/gimpparamspecs.[ch]: renamed GimpParamSpecString's
flag "no_validate" to "allow_non_utf8".
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/*.pdb: renamed argument flag
"no_validate" (which turns off utf8-validation for strings) to
"allow_non_utf8" and renamed "no_success" (which turns off
argument validation alltogether) to "no_validate".
Doesn't affect generated code.
svn path=/trunk/; revision=22350
2007-04-26 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/display.pdb (diplay_is_valid)
* tools/pdbgen/pdb/drawable.pdb (drawable_is_valid)
* tools/pdbgen/pdb/image.pdb (image_is_valid)
* tools/pdbgen/pdb/vectors.pdb (vectors_is_valid): it's the
argument flag "no_success" which turns off validation, not
"no_validate" (how obvious). Also fixed drawable and vectors
procedures to check for !gimp_item_is_removed() instead of
gimp_item_is_attached() (a newly created item is unattached
but valid).
* app/pdb/display_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* app/pdb/vectors_cmds.c: regenerated.
svn path=/trunk/; revision=22349
2007-04-12 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/display.pdb (display_delete): added a note that
calling this function may cause data loss.
* app/pdb/display_cmds.c
* libgimp/gimpdisplay_pdb.c: regenerated.
svn path=/trunk/; revision=22243
2007-03-28 Joao S. O. Bueno Calligaris <gwidion@mpc.com.br>
* tools/pdbgen/pdb/layer.pdb: clarified documentation for
add_mask procedure; fixed typo in documentation for create_mask.
svn path=/trunk/; revision=22183
2007-03-09 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: include "libgimpmath/gimpmathtypes.h"
instead of "libgimpmath/gimpmath.h".
* app/core/gimpbrush.h
* app/paint/gimppaintcore.h
* app/paint/gimpperspectiveclone.h
* app/text/gimptext.h
* app/tools/gimptransformtool.h: include gimpvector.h and
gimpmatrix.h explicitely where they are needed in public structs.
* app/*/*.c
* tools/pdbgen/pdb/paths.pdb: include "libgimpmath/gimpmath.h"
where needed.
* app/pdb/paths_cmds.c: regenerated.
svn path=/trunk/; revision=22084
2007-03-05 Michael Natterer <mitch@gimp.org>
Makes default Select -> Border behaviour consistent, and makes
'sticky image edges' optional by adding a checkbox in the Border
Selection dialog. Patch by Martin Nordholts. Fixes bug #350009.
* app/actions/select-commands.c (select_border_cmd_callback)
(select_border_callback): Added edge-lock checkbox to dialog and
modified calls accordingly.
* app/paint-funcs/paint-funcs.c (border_region)
(compute_transition): Fixed algorithm. (compute_transition is a
helper function to the algorithm). Also clarified many parts of
the algorithm with comments.
* app/paint-funcs/paint-funcs.h
* app/core/gimpchannel.[ch]
* app/core/gimpselection.c: Added gboolean edge_lock to function
calls/signatures.
* app/pdb/selection_cmds.c: Regenerated.
svn path=/trunk/; revision=22047
2007-01-19 Sven Neumann <sven@gimp.org>
* app/file/file-utils.[ch]: let the filename -> uri functions take
a Gimp parameter instead of the list of load procedures.
* app/core/gimpimage.c
* app/app_procs.c
* app/dialogs/file-open-location-dialog.c
* tools/pdbgen/pdb/fileops.pdb: changed accordingly.
* app/pdb/fileops_cmds.c: regenerated.
svn path=/trunk/; revision=21736
2007-01-18 Kevin Cozens <kcozens@cvs.gnome.org>
* tools/pdbgen/pdb/color.pdb: allow low value to be equal to the high
value for PDB call to gimp-threshold. From a patch by Dave Gowers.
Fixes bug #397903.
svn path=/trunk/; revision=21731
2006-12-29 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/gimprc.pdb: export gimp_get_default_unit() to
the PDB.
* app/pdb/gimprc_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpgimprc_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
* plug-ins/print/print-page-layout.c
* plug-ins/print/print.c: initialize units the same way the core
Print Size dialog does it.
2006-11-23 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/image.pdb: marked the new functions as new in
2.4.
* app/pdb/image_cmds.c
* libgimp/gimpimage_pdb.c: regenerated.
2006-11-22 Simon Budig <simon@gimp.org>
* tools/pdbgen/pdb/image.pdb: Added functions to easily determine
the position of a layer/channel/vectors object in its respective
stack.
* libgimp/gimp.def: added new symbols
* app/pdb/image_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpimage_pdb.[ch]: regenerated.
2006-11-21 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/brush.pdb (brush_get_pixels): the pixmap's size
is width * height * bpp, not just width * height.
* app/pdb/brush_cmds.c: regenerated.
2006-11-20 Simon Budig <simon@gimp.org>
* app/vectors/gimpstroke.[ch]
* tools/pdbgen/pdb/vectors.pdb
* plug-ins/pygimp/pygimp-vectors.c: Applied patch from
Joao S. O. Bueno Calligaris that adds some missing transformations
to the PDB-API for strokes. Fixes bug #129598.
* app/pdb/internal_procs.c
* app/pdb/vectors_cmds.c
* libgimp/gimpvectors_pdb.[ch]: regenerated.
2006-11-08 Simon Budig <simon@gimp.org>
* tools/defcheck.py: don't bail out successfully after the first test,
don't bail out prematurely on a failed test and actually spot double
symbols in .def-files if they follow immediately each other...
2006-11-08 Sven Neumann <sven@gimp.org>
* tools/Makefile.am (EXTRA_DIST): added defcheck.py.
* tools/defcheck.py: keep a list of .def files, glob didn't work
for me. Also bail out with a reasonable message if not being
called from the toplevel source directory.
* Makefile.am (dist-hook): check .def files for consistency.
2006-11-05 Sven Neumann <sven@gimp.org>
* app/file/file-save.c (file_save): only save a thumbnail if we
are saving as XCF. Fixes bug #25272.
* tools/pdbgen/pdb/fileops.pdb: create a libgimp wrapper for the
"gimp-file-save-thumbnail" procedure.
* libgimp/gimpfileops_pdb.[ch]: regenerated.
* plug-ins/common/compressor.c (save_image): ask the core to
save
a thumbnail for compressed XCF files.
2006-11-03 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch] (enum GimpUndoType): added value
GIMP_UNDO_GROUP_LAYER_ADD.
* app/file/file-open.[ch]: changed file_open_layer() to
file_open_layers(), added parameter "gboolean merge_visible",
return a GList of layers.
* app/dialogs/file-open-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/widgets/gimplayertreeview.c: pass merge_visible = FALSE and
add all returned layers to the image. Fixes bug #358082.
(contains lots of duplicated code, will factor that out later).
* tools/pdbgen/pdb/fileops.pdb (load_layer): pass merge_visible = TRUE
(load_layers): new wrapper which returns all the image's layers.
* app/pdb/fileops_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpfileops_pdb.[ch]: regenerated.
* libgimp/gimp.def: changed accordingly.
2006-10-31 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/app.pl: declare all register_foo_procs() functions
in internal_procs.h instead of internal_procs.c and include
internal_procs.h from all foo_cmds.c files.
* app/pdb/*_cmds.c
* app/pdb/internal_procs.[ch]: regenerated.
2006-10-31 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/lib.pl: if a generated file in libgimp contains
deprecated procedures, #undef GIMP_DISABLE_DEPRECATED and include
its header explicitly, to make sure all deprecated procedures are
declared properly. Removed $privatevars cruft.
* libgimp/gimpbrushes_pdb.c
* libgimp/gimpcolor_pdb.c
* libgimp/gimpdrawable_pdb.c
* libgimp/gimpgradients_pdb.c
* libgimp/gimppalettes_pdb.c
* libgimp/gimppaths_pdb.c
* libgimp/gimppatterns_pdb.c
* libgimp/gimptexttool_pdb.c
* libgimp/gimptransformtools_pdb.c: regenerated.
2006-10-31 Simon Budig <simon@gimp.org>
* tools/defcheck.py: hack to check the consistency of the .def files
for the libraries. Invoke after building GIMP, needs "nm" to work.
* libgimpwidgets/gimpwidgets.def: removed obsolete symbol.
2006-10-26 Simon Budig <simon@gimp.org>
* app/vectors/gimpstroke-new.h: New header file for the
GimpStroke factory.
* app/vectors/Makefile.am
* app/vectors/gimpstroke.h: changed accordingly.
* tools/pdbgen/pdb/vectors.pdb: changed accordingly plus a bugfix.
* app/pdb/vectors_cmds.c: regenerated.
2006-10-25 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/paths.pdb: removed gimp-paths-import-string, it
didn't exist in 2.2 and therefore doesn't need to be deprecated.
* app/pdb/internal_procs.c
* app/pdb/paths_cmds.c
* libgimp/gimppaths_pdb.[ch]: regenerated.
* libgimp/gimp.def: changed accordingly.
2006-10-25 Simon Budig <simon@gimp.org>
* app/vectors/vectors-enums.h: Oops. Need to specify both
pdb-skip and skip.
* libgimp/gimp.def
* libgimpconfig/gimpconfig.def
* libgimpmath/gimpmath.def
* libgimpthumb/gimpthumb.def
* libgimpwidgets/gimpwidgets.def: .def-file maintenance. Hope my
changes are correct...
With the help from
nm .libs/libgimpfoo-2.0.so |\
sed -ne "s/.* T \([a-zA-Z0-9][a-zA-Z0-9_]*\)/\t\1/p" |\
(echo EXPORTS ; LC_ALL=C sort )
* libgimpwidgets/gimppageselector.c: marked stretch_frame_image()
as static.
* libgimp/gimpenums.c.tail
* libgimp/gimpenums.h
* tools/pdbgen/enums.pl: regenerated.
* devel-docs/libgimp/tmpl/gimpfontselectbutton.sgml: this changed
again. WTF?
2006-10-25 Michael Natterer <mitch@gimp.org>
Added mechanism that should prevent undo corruption by
broken plug-ins and scripts. Work in progress.
* app/plug-in/Makefile.am
* app/plug-in/gimpplugin-cleanup.[ch]: new files that (for now)
keep track of the undo groups plug-in procedures open and close,
and can fix an image's undo group state after a plug-in messed.
* app/plug-in/gimppluginprocframe.h (struct GimpPlugInProcFrame):
keep a list of plug-in cleanup structs.
* app/plug-in/gimppluginprocframe.c
(gimp_plug_in_proc_frame_dispose): call gimp_plug_in_cleanup() if
the list is not empty.
* tools/pdbgen/pdb/undo.pdb: keep track of undo groups using
the new gimp_plug_in_cleanup_undo_group_start() and _end()
functions. Fail if any of the functions returns FALSE.
* app/pdb/undo_cmds.c: regenerated.
2006-10-24 Simon Budig <simon@gimp.org>
* app/vectors/Makefile.am
* app/vectors/vectors-enums.h
* app/vectors/vectors-types.h: added new file for the vectors enums,
adjusted Makefile.am for the generation of vectors-enums.c
* tools/pdbgen/Makefile.am
* tools/pdbgen/pdb/vectors.pdb: Added implementation for
gimp-vectors-stroke-get-points which returns the control points for
the stroke.
Renamed gimp-vectors-stroke-remove to gimp-vectors-remove-stroke.
ATTENTION: this breaks scripts using this function, a simple name
change is enough to make it work again.
Also please note that yosh reordered the return values of
gimp-vectors-stroke-interpolate, so your scripts need adjustment
there as well.
* tools/pdbgen/pdb/paths.pdb: deprecate gimp-path-get-points. Yay!
* libgimp/gimp.def: added new symbol
* plug-ins/pygimp/pygimp-vectors.c: reflect name change of
gimp_vectors_remove_stroke ().
* app/vectors/vectors-enums.c
* app/pdb/internal_procs.c
* app/pdb/paths_cmds.c
* app/pdb/vectors_cmds.c
* devel-docs/libgimp/tmpl/gimpvectors.sgml
* libgimp/gimpenums.c.tail
* libgimp/gimpenums.h
* libgimp/gimppaths_pdb.[ch]
* libgimp/gimpvectors_pdb.[ch]
* tools/pdbgen/enums.pl: regenerated.
2006-10-24 Manish Singh <yosh@gimp.org>
* tools/pdbgen/pdb/vectors.pdb: fix spelling of "precision", and
tweak some outargs around to the libgimp api is a bit friendlier.
* app/pdb/vectors_cmds.c
* libgimp/gimpvectors_pdb.[ch]: regenerated.
2006-10-16 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: removed the "floating" flag and the
floating/sink API.
(gimp_item_init): call g_object_force_floating() instead.
* app/core/gimpimage.c
* app/core/gimplayer.c
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb: use combinations of
g_object_ref_sink() and g_object_unref() instead of
gimp_item_sink(). Use g_object_is_floating() instead of
gimp_item_is_floating().
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c: regenerated.
2006-10-09 Michael Natterer <mitch@gimp.org>
Added message severities and make sure all messages are routed
through a central function, so redirecting to the error console or
stderr work again:
* app/core/core-enums.[ch]: added enum GimpMessageSeverity { INFO,
WARNING, ERROR }.
* app/core/gimp.[ch] (gimp_message)
(gimp_message_valist): added severity parameter. Changed
"GimpProgress *progress" parameter to "GObject *handler", where
"handler" can be either a GimpProgress, a GtkWidget or NULL.
* app/core/gimp-gui.[ch] (gimp_show_message): ditto. Honor
--console-messages again. Always dispatch to the GUI message
handler first if it exists.
* app/gui/gui-message.[ch]: pass severity parameters around.
(gui_message_error_dialog): if "handler" is a progress, dispatch
the message to it first. If it is a widget (and *not* a progress),
use a GtkMessageDialog on top of that widget's toplevel. Fall
back to the usual GimpErrorDialog otherwise.
* app/core/gimpprogress.[ch] (gimp_progress_message): added
severity parameter. Also added boolean return value to the virtual
function so it can decide to fail if it can't handle the message.
* app/display/gimpdisplay.c: implement GimpProgress::message() and
redirect the message to GimpDisplayShell.
* app/display/gimpdisplayshell-progress.c: implement
GimpProgress::message() and redirect the message to GimpStatusbar
if it is not an error and if the status bar is visible.
* app/display/gimpstatusbar.[ch]: implement GimpProgress::message(),
but fail on messages that contain a newline. Show the right icons
for the message severities (work in progress).
* app/display/gimpdisplayshell.[ch]: removed
gimp_display_shell_message() and its _valist() variant.
* app/widgets/gimperrorconsole.[ch]: show the right icons for the
message severities.
* app/widgets/gimpthumbbox.c (gimp_thumb_box_progress_message):
return TRUE to swallow all messages.
* app/widgets/gimpwidgets-utils.[ch]: removed
gimp_show_message_dialog(). Added gimp_get_message_stock_id().
* app/errors.c
* app/actions/edit-commands.c
* app/actions/error-console-commands.c
* app/actions/file-commands.c
* app/actions/select-commands.c
* app/actions/text-editor-commands.c
* app/actions/vectors-commands.c
* app/core/gimpimage-convert.c
* app/core/gimpimagefile.c
* app/dialogs/convert-dialog.c
* app/dialogs/file-open-dialog.c
* app/dialogs/file-open-location-dialog.c
* app/dialogs/file-save-dialog.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/stroke-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/pdb/gimppdb.c
* app/plug-in/gimpplugin.c
* app/tools/gimpimagemaptool.c
* app/tools/gimptool.c
* app/tools/gimpvectortool.c
* app/widgets/gimpactionview.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimppdbdialog.c
* app/widgets/gimpvectorstreeview.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c
* app/xcf/xcf.c
* tools/pdbgen/pdb/brush.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/message.pdb
* tools/pdbgen/pdb/palette.pdb: added severity parameter to
gimp_message() calls. Convert all calls to
gimp_show_message_dialog() and gimp_display_shell_message() to
gimp_message(). Also converted some more g_message() calls.
* app/pdb/brush_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/image_cmds.c
* app/pdb/message_cmds.c
* app/pdb/palette_cmds.c: regenerated.
2006-09-22 Sven Neumann <sven@gimp.org>
* app/gui/gui-message.c
* app/widgets/gimpwidgets-utils.[ch]: moved utility function to
gimpwidgets-utils.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: added a progress parameter to
gimp_pdb_dialog_new() and make the dialog transient to the progress
window.
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/font_select.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/palette_select.pdb
* tools/pdbgen/pdb/pattern_select.pdb: pass progress to
gimp_pdb_dialog_new().
* app/pdb/brush_select_cmds.c
* app/pdb/font_select_cmds.c
* app/pdb/gradient_select_cmds.c
* app/pdb/palette_select_cmds.c
* app/pdb/pattern_select_cmds.c: regenerated.
* libgimp/gimpselectbutton.c: cosmetics.
2006-09-13 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/paint_tools.pdb
* tools/pdbgen/pdb/selection_tools.pdb: use the canonical form
when
refering to parameters in the procedure description.
2006-09-03 Sven Neumann <sven@gimp.org>
* app/paint/gimppaintcore.[ch]: added construct-only property
"undo-desc". Use this when pushing an undo instead of attempting
an unsuccessful lookup of the GimpPaintInfo object.
* tools/pdbgen/pdb/paint_tools.pdb
* app/tools/gimppainttool.c: use paint_info->blurb as undo
description when constructing the paint core.
* app/pdb/paint_tools_cmds.c: regenerated.
2006-09-02 Michael Natterer <mitch@gimp.org>
Merged the "soc-2006-healing-brush" branch. That branch is now
officially closed and all further fixes and changes have to be
applied to HEAD.
Did some minor adjustments, mostly small indentation and spacing
fixes. Derive the tool from the newly introduced GimpBrushTool
which did not exist when the branch was created.
Thanks a lot to Kevin Sookocheff for this nice contribution!
* app/paint/paint-enums.[ch]: new enum GimpHealAlignMode.
* app/paint/Makefile.am
* app/paint/makefile.msc
* app/paint/gimpheal.[ch]
* app/paint/gimphealoptions.[ch]: the heal core and its options.
* app/paint/gimp-paint.c: register the heal core.
* app/tools/Makefile.am
* app/tools/makefile.msc
* app/tools/gimphealtool.[ch]: the heal tool.
* app/tools/gimp-tools.c: register the heal tool.
* app/tools/gimppaintoptions-gui.c: show the widgets that are used
by heal.
* app/widgets/gimphelp-ids.h: the heal help ID.
* tools/pdbgen/stddefs.pdb
* tools/pdbgen/pdb/paint_tools.pdb: the heal PDB wrappers.
* app/widgets/widgets-enums.h
* app/widgets/gimpcursor.c
* cursors/Makefile.am
* cursors/makefile.msc
* cursors/tool-heal.png
* cursors/xbm/tool-heal.xbm
* cursors/xbm/tool-heal-mask.xbm: a new cursor for the heal tool.
* libgimpwidgets/gimpstock.[ch]
* themes/Default/images/Makefile.am
* themes/Default/images/makefile.msc
* themes/Default/images/tools/stock-tool-heal-16.png
* themes/Default/images/tools/stock-tool-heal-22.png: new stock
icons for the heal tool.
* app/pdb/internal_procs.c
* app/pdb/paint_tools_cmds.c
* libgimp/gimppainttools_pdb.[ch]: regenerated.
2006-08-29 Michael Natterer <mitch@gimp.org>
Changed GimpViewable preview rendering to have a context to get
FG/BG/whatever from. Use the context to enable dynamic FG/BG
colors in gradients. Fixes bug #127676 and bug #352214. Addresses
bug #128367 (doesn't fix it because there's no loading/saving and
no GUI yet).
* app/core/core-enums.[ch]: added enum GimpGradientColor to enable
specifying gradient colors in terms of foreground and background.
* app/core/gimpgradient.[ch]: added color_type members to the
GimpGradientSegment struct and honor them in
gimp_gradient_get_color_at(). Added GimpContext parameters to all
functions which finally call get_color_at().
* app/core/gimp-gradients.c: use the new method to implement the
builtin gradients.
* app/core/gimpviewable.[ch]: added GimpContext parameters to all
get_preview() and get_pixbuf() functions.
* app/core/gimpbrush.c
* app/core/gimpbuffer.c
* app/core/gimpdrawable-preview.[ch]
* app/core/gimpgradient.c
* app/core/gimpimage-preview.[ch]
* app/core/gimpimagefile.c
* app/core/gimppalette.c
* app/core/gimppattern.c
* app/core/gimpundo.[ch]
* app/text/gimpfont.c
* app/vectors/gimpvectors-preview.[ch]: changed ::get_preview()
and ::get_pixbuf() implementations accordingly.
* app/core/gimpdrawable-blend.c
* app/core/gimppalette-import.[ch]
* app/dialogs/dialogs-constructors.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/resize-dialog.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell.c
* app/display/gimpnavigationeditor.c
* app/paint/gimppaintoptions.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimptexttool.c
* app/actions/gradient-editor-commands.c
* app/widgets/gimpaction.c
* app/widgets/gimpbrusheditor.[ch]
* app/widgets/gimpbufferview.c
* app/widgets/gimpcellrendererviewable.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpclipboard.c
* app/widgets/gimpcoloreditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainerbox.c
* app/widgets/gimpcontainercombobox.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainerentry.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.[ch]
* app/widgets/gimpdataeditor.[ch]
* app/widgets/gimpdevicestatus.c
* app/widgets/gimpdnd.[ch]
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpgradienteditor.[ch]
* app/widgets/gimpgradientselect.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppaletteeditor.[ch]
* app/widgets/gimppropwidgets.[ch]
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpthumbbox.[ch]
* app/widgets/gimptoolbox-image-area.c
* app/widgets/gimptoolbox-indicator-area.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpundoeditor.c
* app/widgets/gimpvectorstreeview.c
* app/widgets/gimpview-popup.[ch]
* app/widgets/gimpview.[ch]
* app/widgets/gimpviewablebutton.c
* app/widgets/gimpviewabledialog.c
* app/widgets/gimpviewrenderer.[ch]
* app/widgets/gimpviewrenderer-frame.c
* app/widgets/gimpviewrendererbrush.c
* app/widgets/gimpviewrendererbuffer.c
* app/widgets/gimpviewrendererdrawable.c
* app/widgets/gimpviewrenderergradient.c
* app/widgets/gimpviewrendererimage.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/image.pdb: added tons of GimpContext members
and parameters, implement GimpDocked::set_context() in many
widgets. Pass these locally remembered contexts to GimpViewable
functions. Did some minor cleanups on the way. There are still
some minor FIXMEs around where the code uses a NULL context (which
is allowed by the APIs)
* app/pdb/drawable_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/image_cmds.c: regenerated.
2006-08-22 Sven Neumann <sven@gimp.org>
* tools/pdbgen/lib.pl : changed code generation rules to place
G_GNUC_INTERNAL before the return value (bug #352268).
* libgimp/*_pdb.h: regenerated.
2006-08-14 Sven Neumann <sven@gimp.org>
* tools/gimp-remote.c
* docs/gimp-remote.1.in: applied patch from Michael Klein that
adds
an option to print out the XID of the toolbox window (bug
#351205).
2006-08-08 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/drawable.pdb: changed limits in
gimp_drawable_thumbnail()in gimp_drawable_sub_thumbnail to 1024
(GIMP_VIEWABLE_MAX_PREVIEW_SIZE) and added an assertion like the
one we have in image.pdb.
* app/pdb/drawable_cmds.c
* libgimp/gimpdrawable_pdb.c: regenerated.
* libgimp/gimppixbuf.c: increased the limit to 1024 here as
well.
2006-08-05 Michael Natterer <mitch@gimp.org>
Applied (modified and enhanced) patch from Chris Moller which allows
tools to distinguish similar colors not only by composite, but also
by R, G, B, H, S and V. Fixes bug #348291.
* app/core/core-enums.[ch]: added new enum GimpSelectCriterion
which can be one of { COMPOSITE, R, G, B, H, S, V }.
* app/core/gimpimage-contiguous-region.[ch]: added
select_criterion params and create the region based on difference
by the selected criterion.
* app/core/gimpchannel-select.[ch]
* app/core/gimpdrawable-bucket-fill.[ch]: take criterion params and
pass them through to the contiguous region functions.
* app/tools/gimpbucketfilloptions.[ch]
* app/tools/gimpselectionoptions.[ch]: added criterion properties
and GUI to select it.
* app/tools/gimpbucketfilltool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpfuzzyselecttool.c: pass the selected criterion to
the resp. core functions.
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpselectioneditor.c
* app/display/gimpdisplayshell-dnd.c
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly
(simply pass GIMP_SELECT_CRITERION_COMPOSITE in most cases).
* app/pdb/edit_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
2006-08-04 Raphael Quinet <raphael@gimp.org>
* tools/pdbgen/stddefs.pdb
* tools/pdbgen/pdb/convert.pdb: Attributed custom dither code to
David Gowers and updated my e-mail address for the PDB.
* app/pdb/convert_cmds.c
* app/pdb/undo_cmds.c
* libgimp/gimpconvert_pdb.c: Regenerated.
2006-08-04 Raphael Quinet <raphael@gimp.org>
* app/core/gimpimage-convert-data.h
* app/core/gimpimage-convert.c
* app/core/gimpimage-convert.h
* tools/pdbgen/pdb/convert.pdb: Applied slightly modified patch
from David Gowers allowing a custom dither matrix to be used when
converting images to indexed mode. Fixes bug #136604.
* app/pdb/convert_cmds.c
* libgimp/gimpconvert_pdb.h
* libgimp/gimpconvert_pdb.c: Regenerated.
* app/tools/gimpselectiontool.c: N_() should have been _().
2006-07-28 Simon Budig <simon@gimp.org>
* libgimp/gimp.def: added the new symbol
* tools/pdbgen/pdb/vectors.pdb: cosmetics.
* app/pdb/vectors_cmds.c
* libgimp/gimpvectors_pdb.[ch]: regenerated.
2006-07-19 Sven Neumann <sven@gimp.org>
Make message dialogs transient for the progress window.
Addresses
bug #347214.
* app/core/gimp-gui.[ch]: added a progress parameter to
gimp_message(). Let gimp_message() deal with optionally
delegating the message to gimp_progress_message().
* app/errors.c: changed accordingly.
* app/core/gimpprogress.[ch] (gimp_progress_message): return a
boolean indicating whether the message was handled.
* app/gui/Makefile.am
* app/gui/gui-message.[ch]
* app/gui/gui-vtable.c: moved message handling to a new file.
Only
use the global error dialog for messages without a progress.
Otherwise attach an error dialog to the progress and try to make
it transient to the progress window.
* tools/pdbgen/pdb/message.pdb:
* app/plug-in/gimpplugin-progress.[ch]: don't delegate messages
to
the progress interface, this is handled by gimp_message() now.
* app/pdb/message_cmds.c: regenerated.
* app/plug-in/gimpplugin.c
* app/actions/documents-commands.c: formatting.
2006-07-18 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/image.pdb: fixed docs for gimp-image-add-layer
as pointed out in bug #347861.
* app/pdb/image_cmds.c
* libgimp/gimpimage_pdb.c: regenerated.
2006-06-23 Sven Neumann <sven@gimp.org>
* tools/gimp-remote.c: applied patch from Eric Lamarque that
adds
a new function to checks for a valid URI. Fixes bug #332835.
2006-06-14 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/[many].pdb: in help texts, refer to other
procedures using_c_syntax(). This way gtk-doc can cross-reference
them correctly in libgimp, and app.pl will transform them
'to-canonical-names' for PDB registering.
* app/pdb/[many]_cmds.c
* libgimp/[many]_pdb.c: regenerated.
* app/core/gimpguide.c
* app/core/gimpguide.h: new files, implementing GuideGimp as a GimpObject
* app/core/Makefile.am: add new files as sources
* app/core/gimpimage-guides.h
* app/core/gimpimage-guides.c: use the new object instead of defining
GimpGuide here as a struct.
* app/core/gimpimage-crop.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-snap.c
* app/core/gimpimage-undo-push.c
* app/core/gimpimage.c
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell.c
* app/pdb/guides_cmds.c
* app/tools/gimpmovetool.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/guides.pdb: include "core/gimpguide.h", and use
g_object_ref/unref instead of gimp_image_guide_ref/unref.
2006-06-05 Michael Natterer <mitch@gimp.org>
Applied slightly modified patch from saulgoode which allows to
border a selection without feathering. Fixes bug #88633.
* app/paint-funcs/paint-funcs.[ch] (border_region): added boolean
"feather_border" parameter.
* app/core/gimpchannel.[ch]: GimpChannel::border(): ditto.
* app/core/gimpselection.c: changed accordingly.
* app/actions/select-commands.c: added a toggle to the border
dialog and pass it to gimp_channel_border().
* tools/pdbgen/pdb/selection.pdb: pass TRUE here.
* app/pdb/selection_cmds.c: regenerated.
2006-05-27 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/enumcode.pl: cast the return value of
gimp_enums_get_type_names() to (const gchar **) to fix compiler
warning.
* libgimp/gimpenums.c.tail: regenerated.
2006-05-23 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb
* tools/pdbgen/pdb/transform_tools.pdb: add the drawable's offset
to the x and y returned by gimp_drawable_mask_intersect() because
all transform functions expect image coordinates.
Fixes bug #342548.
* app/pdb/drawable_transform_cmds.c
* app/pdb/transform_tools_cmds.c: regenerated.
2006-05-19 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/image.pdb: do not use enum values in C syntax
to describe the image mode.
* app/pdb/convert_cmds.c
* app/pdb/image_cmds.c
* libgimp/gimpconvert_pdb.c
* libgimp/gimpimage_pdb.c: regenerated.
2006-05-18 Sven Neumann <sven@gimp.org>
* tools/pdbgen/app.pl
* tools/pdbgen/lib.pl: removed code that used to fiddles with
the
argument descriptions.
* tools/pdbgen/pdb/*.pdb: removed %%desc%% placeholder, added
some
missing argument descriptions.
* app/pdb/*_cmds.c
* libgimp/gimpdrawabletransform_pdb.c
* libgimp/gimpfloatingsel_pdb.c
* libgimp/gimpgradient_pdb.c
* libgimp/gimppainttools_pdb.c: regenerated.
* app/core/Makefile.am
* app/core/gimpparamspecs-desc.[ch] (gimp_param_spec_get_desc):
new function that creates a parameter description for the PDB.
* app/pdb/gimppdb-query.c
* app/pdb/procedural_db_cmds.c: use the new function to create
the
descriptions on the fly.
2006-05-14 Michael Natterer <mitch@gimp.org>
Allow to initialize a new layer mask with any of the image's
channels. Fixes bug #310207.
* libgimpbase/gimpbaseenums.h (enum GimpAddMaskType): added
value GIMP_ADD_CHANNEL_MASK.
* libgimpbase/gimpbaseenums.c
* tools/pdbgen/enums.pl: regenerated.
* app/core/gimplayer.[ch] (gimp_layer_create_mask): added
GimpChannel* parameter. Hacked the GIMP_ADD_SELECTION_MASK code a
bit so it can handle GIMP_ADD_CHANNEL_MASK too. Cleaned up the
function a bit.
* app/dialogs/layer-add-mask-dialog.[ch]: added a menu of the
image's channels.
* app/actions/layers-commands.c (layers_add_mask_response): pass
the channel selected in the menu to gimp_layer_create_mask().
* tools/pdbgen/pdb/layer.pdb (layer_create_mask): use the image's
active channel when GIMP_ADD_CHANNEL_MASK is passed. Fail if there
is no active channel.
* app/pdb/layer_cmds.c: regenerated.
2006-05-14 Michael Natterer <mitch@gimp.org>
Allow to initialize a new layer mask with any of the image's
channels. Fixes bug #310207.
* libgimpbase/gimpbaseenums.h (enum GimpAddMaskType): added
value GIMP_ADD_CHANNEL_MASK.
* libgimpbase/gimpbaseenums.c
* tools/pdbgen/enums.pl: regenerated.
* app/core/gimplayer.[ch] (gimp_layer_create_mask): added
GimpChannel* parameter. Hacked the GIMP_ADD_SELECTION_MASK code a
bit so it can handle GIMP_ADD_CHANNEL_MASK too. Cleaned up the
function a bit.
* app/dialogs/layer-add-mask-dialog.[ch]: added a menu of the
image's channels.
* app/actions/layers-commands.c (layers_add_mask_response): pass
the channel selected in the menu to gimp_layer_create_mask().
* tools/pdbgen/pdb/layer.pdb (layer_create_mask): use the image's
active channel when GIMP_ADD_CHANNEL_MASK is passed. Fail if there
is no active channel.
* app/pdb/layer_cmds.c: regenerated.
2006-05-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpparamspecs.[ch]: added "gboolean none_ok" members
to GimpParamSpecImageID, GimpParamSpecItemID and
GimpParamSpecDisplayID. If none_ok is set, allow '0' and '-1' as
valid IDs. Added "none_ok" parameter to all ID param spec
constructors.
* app/pdb/gimp-pdb-compat.c: set none_ok to TRUE in all compat
param specs, so only IDs that are really random garbage don't pass
validation. Fixes validation errors with 0 and -1 IDs.
* tools/pdbgen/app.pl: set none_ok to FALSE by default. Added
support for $arg->{none_ok} to control it.
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/progress.pdb
* tools/pdbgen/pdb/text_tool.pdb: use none_ok instead of
no_success (which disables validation entirely).
* app/pdb/[many]_cmds.c: regenerated.
2006-05-03 Michael Natterer <mitch@gimp.org>
Made an object out of the plug-in struct. Also change refcounting
considerably:
- gimp_plug_in_open() adds a reference that is only dropped by
gimp_plug_in_close().
- temporarily ref the plug-in while handling messages.
- remporarily ref the plug-in while a recursive main loop is
running.
- each caller of gimp_plug_in_new() also unrefs the plug-in before
returning, the only reference that persists across functions
(that keeps the plug-in alive) is the one added by open().
* app/plug-in/plug-in.[ch]
* app/plug-in/plug-in-context.[ch]
* app/plug-in/plug-in-message.[ch]
* app/plug-in/plug-in-progress.[ch]: removed these files...
* app/plug-in/gimpplugin.[ch]
* app/plug-in/gimpplugin-context.[ch]
* app/plug-in/gimpplugin-message.[ch]
* app/plug-in/gimpplugin-progress.[ch]: ...and added here as GObject.
* app/plug-in/plug-in-proc-frame.[ch]: removed...
* app/plug-in/gimppluginprocframe.[ch]: ...and added with a namespace.
* app/plug-in/Makefile.am
* app/plug-in/plug-in-types.h
* app/plug-in/gimppluginmanager-call.c
* app/plug-in/gimppluginmanager-file.c
* app/plug-in/gimppluginmanager.[ch]
* app/pdb/gimppluginprocedure.c
* app/pdb/gimptemporaryprocedure.c
* app/pdb/gimptemporaryprocedure.h
* tools/pdbgen/pdb/context.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/help.pdb
* tools/pdbgen/pdb/message.pdb
* tools/pdbgen/pdb/plug_in.pdb
* tools/pdbgen/pdb/progress.pdb
* tools/pdbgen/pdb/undo.pdb: changed accordingly.
* app/pdb/context_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/help_cmds.c
* app/pdb/message_cmds.c
* app/pdb/plug_in_cmds.c
* app/pdb/progress_cmds.c
* app/pdb/undo_cmds.c: regenerated.
2006-04-27 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimprgb.[ch]: added "has_alpha" to GimpParamSpecRGB.
Made the GimpParamSpecRGB struct public. When validating a color,
only look at the alpha channel if has_alpha is set.
* libgimpconfig/gimpconfig-params.h: added "has_alpha" to
GIMP_CONFIG_INSTALL_PROP_RGB macro definition.
* libgimpconfig/gimpconfig-serialize.c: serialize color values as
"(rgb r g b)" if the param-spec indicates that the alpha channel
is meaningless.
* app/config/gimpconfig-dump.c: take "has_alpha" into account when
documenting color properties.
* app/core/gimpcontext.c
* app/core/gimpgrid.c
* app/display/gimpdisplayoptions.c
* app/text/gimptext.c
* app/widgets/gimpaction.c
* app/widgets/gimpcolorbar.c
* libgimpwidgets/gimpcolorarea.c
* libgimpwidgets/gimpcolorbutton.c: specify whether color properties
have an alpha channel.
* tools/pdbgen/app.pl: handle "has_alpha" for color paramaters.
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/context.pdb
* tools/pdbgen/pdb/grid.pdb
* tools/pdbgen/pdb/image.pdb: set the "has_alpha" flag where
appropriate.
* app/pdb/gimp-pdb-compat.c (gimp_pdb_compat_param_spec): set
"has_alpha" to TRUE for GIMP_PDB_COLOR.
* app/pdb/channel_cmds.c
* app/pdb/context_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/grid_cmds.c
* app/pdb/image_cmds.c
* app/pdb/palette_cmds.c
* app/pdb/palettes_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
* app/config/gimpdisplayconfig.c (gimp_display_config_class_init):
removed unused code.
2006-04-26 Michael Natterer <mitch@gimp.org>
* app/pdb/Makefile.am
* app/pdb/pdb-types.h
* app/pdb/gimppdb.[ch]: new object GimpPDB which keeps all
procedures and functions to register and run them. Renamed all
functions and did some cleanups.
* app/pdb/gimp-pdb.[ch]
* app/core/gimp.[ch]: removed the same stuff here.
* app/pdb/gimp-pdb-query.[ch]: removed these files...
* app/pdb/gimppdb-query.[ch]: ...added here as members of GimpPDB.
* app/pdb/gimp-pdb-compat.h: fix include guard.
* app/batch.c
* app/actions/vectors-commands.c
* app/dialogs/about-dialog.c
* app/file/file-open.c
* app/file/file-save.c
* app/plug-in/plug-in-message.c
* app/plug-in/plug-ins.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimphelp.c
* app/xcf/xcf.c
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/font_select.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/palette_select.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/procedural_db.pdb: changed includes and function
calls accordingly.
* tools/pdbgen/app.pl: pass around GimpPDB instead of Gimp
pointers to register the internal procedures with. Changed some
newlines in the generated code.
* app/pdb/*_cmds.c
* app/pdb/internal_procs.[ch]: regenerated.
* app/core/gimppdbprogress.[ch]
* app/widgets/gimppdbdialog.[ch]: added "pdb" CONSTRUCT_ONLY
properties.
* app/plug-in/plug-in-progress.c
* app/gui/gui-vtable.c: pass gimp->pdb when creating them.
* app/widgets/gimpbrushselect.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c: use the new local pdb pointers
instead of some foo->bar->gimp->pdb overkill.
2006-04-10 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-ins.c (plug_ins_add_to_db): don't iterate the
list of plug-in procedures here, take a GimpPlugInProcedure
argument instead.
(plug_ins_init): iterate the list here, just as all other lists
too. Renamed local "filename" variable to "pluginrc". Moved
"basename" to local scopes.
* tools/pdbgen/pdb/procedural_db.pdb: minor cleanup.
* app/pdb/procedural_db_cmds.c: regenerated.
2006-04-10 Michael Natterer <mitch@gimp.org>
* app/file/file-utils.[ch]: added file_utils_load_thumbnail() and
file_utils_save_thumbnail().
* tools/pdbgen/pdb/fileops.pdb: remove lots of code and includes
and use the new functions.
* app/pdb/fileops_cmds.c: regenerated.
2006-04-10 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-ins.[ch]: removed the plug_ins_file_foo()
functions.
* tools/pdbgen/pdb/fileops.pdb: removed lots of load and save
handler register code.
* app/plug-in/Makefile.am
* app/plug-in/plug-in-file.[ch]: added everything in these new
files. Load and save handlers are installed with
plug_in_file_register_load_handler() and _save_handler() which
also check the passed file procedure's parameters.
* app/pdb/fileops_cmds.c: regenerated.
2006-04-07 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-run.[ch]: made plug_in_run_temp() public and
changed its parameters to match the ones of plug_in_run().
* app/pdb/gimpprocedure.[ch]: added GimpProcedure::execute_async()
which takes an additional display_ID parameter and returns nothing.
* app/pdb/gimppluginprocedure.c
* app/pdb/gimptemporaryprocedure.c: implement it, using
plug_in_run() and plug_in_run_temp().
* app/core/gimp-utils.[ch]: added gimp_value_array_truncate()
which takes a GValueArray and the number of values to truncate the
array to.
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c
* app/pdb/gimp-pdb.c
* app/plug-in/plug-ins.c
* app/widgets/gimphelp.c: use gimp_procedure_execute_async()
instead of plug_in_run() and don't #include "plug-in-run.h".
Truncate GValueArray passed to plug-ins again, and don't just pass
some default values to the noninteractive args.
Unrelated:
* tools/pdbgen/pdb/plug_in.pdb: don't call
gimp_menus_create_branch() here.
* app/plug-in/plug-ins.c (plug_ins_menu_branch_add): call it here
instead.
* app/pdb/plug_in_cmds.c: regenerated.
2006-04-07 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable.[ch]: renamed gimp_drawable_data() to
gimp_drawable_get_tiles().
[lots of files]: changed accordingly.
2006-04-07 Michael Natterer <mitch@gimp.org>
* app/pdb/gimp-pdb.c (gimp_pdb_register)
(gimp_pdb_unregister): ref all registered procedures.
* app/xcf/xcf.c
* tools/pdbgen/app.pl: unref newly created procedures after
registering them.
* app/core/gimp.[ch]: renamed member "plug_in_proc_defs" to
"plug_in_procedures". Renamed "proc_def" variables to "procedure".
* app/actions/plug-in-actions.c
* app/menus/plug-in-menus.c: changed accordingly.
* app/plug-in/plug-ins.[ch]: keep a reference to all procs which
are in gimp->plug_in_procedures.
(plug_ins_exit): unref them all and free the list. Apparently we
were leaking them before on exit.
* app/plug-in/plug-in-def.[ch]: s/proc_defs/procedures/. Ref
procedures added with plug_in_def_add_procedure(). Added
plug_in_def_remove_procedure() which unrefs them again. Removed
"free_proc_defs" parameter from plug_in_def_free() and always
unref the procedures.
* app/plug-in/plug-in.[ch]: added plug_in_add_temp_proc() and
plug_in_remove_temp() proc. Ref the added procedures.
* app/plug-in/plug-in-message.c: use the new APIs instead of
adding/removing procs and temp procs from their lists manually.
Unref the newly created procedure after adding then to the
plug_in_def or plug_in.
* app/plug-in/plug-in-rc.[ch]
* app/plug-in/plug-ins-query.c
* tools/pdbgen/pdb/plug_in.pdb: changed accordingly.
* app/pdb/*_cmds.c: regenerated.
2006-04-07 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-merge.[ch] (gimp_image_merge_visible_layers):
allow to discard invisible layers as suggested in bug #337557.
* app/actions/image-commands.c
* app/dialogs/image-merge-layers-dialog.[ch]: added a check button
to the Merge Visible Layers dialog to control the new feature.
* app/file/file-open.c
* tools/pdbgen/pdb/image.pdb: pass FALSE for the new parameter.
* app/pdb/image_cmds.c: regenerated.
2006-04-05 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-types.h
* app/plug-in/plug-in-proc-def.[ch]: renamed to GimpPlugInProcedure
and made a GObject derived from GimpProcedure (instead of having
a pointer to a GimpProcedure). Added image_types and file_magic
utility functions taken from plug-ins.[ch]. Still lives in the
same crappy files because I am undecided where to put it...
* app/pdb/gimpprocedure.c (gimp_procedure_real_execute): removed
switch() statement and always call the internal marshaller because
GimpProcedure::execute() is properly overridden by
GimpPlugInProcedure now.
* app/plug-in/plug-ins.[ch]: removed the mime_type and file_magic
utilities added to GimpPlugInProcedure.
* app/actions/file-commands.c
* app/actions/plug-in-actions.[ch]
* app/actions/plug-in-commands.[ch]
* app/core/gimp-gui.[ch]
* app/core/gimp.[ch]
* app/core/gimpimage.[ch]
* app/dialogs/file-open-dialog.c
* app/dialogs/file-save-dialog.c
* app/dialogs/print-size-dialog.c
* app/file/file-open.[ch]
* app/file/file-save.[ch]
* app/file/file-utils.[ch]
* app/gui/gui-vtable.c
* app/menus/plug-in-menus.[ch]
* app/plug-in/plug-in-def.[ch]
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-in-run.c
* app/plug-in/plug-in.c
* app/plug-in/plug-ins-query.c
* app/widgets/gimpactiongroup.[ch]
* app/widgets/gimpdnd-xds.c
* app/widgets/gimpfiledialog.[ch]
* app/widgets/gimpfileprocview.[ch]
* app/widgets/gimppluginaction.[ch]
* app/xcf/xcf.c
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/plug_in.pdb: changed addordingly.
* app/pdb/fileops_cmds.c
* app/pdb/plug_in_cmds.c: regenerated.
2006-04-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpparamspecs.[ch]: added a shitload of new GTypes and
corresponding GParamSpecs to use them as PDB arguments.
Each GimpPDBArgType has one or more corresponding GTypes in the
core now.
* app/pdb/gimpargument.[ch] (struct GimpArgument)
(struct GimpArgumentSpec): removed "value" member because the
GValue's/GParamSpec's GType carries just as much information now.
(gimp_argument_type_to_pdb_arg_type): new function which maps
GTypes to GimpPDBArgType.
(gimp_pdb_arg_type_to_string): formerly known as
procedural_db_type_name().
* app/pdb/gimpprocedure.[ch]
* app/pdb/procedural_db.[ch]: completely switch to GValue. Use the
new GParamSpecs for procedure arguments. GimpPDBArgType is only
used for adding compat args/values of plug-in procedures.
(procedural_db_run_proc): the va_list expects a sequence of
(GType, value, GType, value, ..., G_TYPE_NONE) now.
* app/plug-in/plug-in-params.[ch]: changed accordingly.
(plug_in_param_defs_check): removed this function.
* app/plug-in/plug-in-message.c (plug_in_handle_proc_install): use
plug_in_proc_args_check() instead and initialize the GimpProcedure
before doing so.
* tools/pdbgen/app.pl
* tools/pdbgen/pdb.pl: use the new param spec types and their
utility functions. Changed argument/value registration
accordingly.
* app/pdb/procedural-db-query.c
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c
* app/core/gimppdbprogress.c
* app/dialogs/about-dialog.c
* app/file/file-open.c
* app/file/file-save.c
* app/plug-in/plug-in-progress.c
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-ins.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimphelp.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/procedural_db.pdb: changed accordingly.
* app/pdb/*_cmds.c: regenerated.
2006-04-02 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-params.c: handle storage of GIMP_PDB_INT32
plug-in params in GValues of type G_TYPE_UINT, they are used for
guides and tattoos.
* tools/pdbgen/pdb/guides.pdb (image_find_next_guide): don't
validate the "guide" parameter, because 0 is an allowed value
here.
* app/pdb/guides_cmds.c: regenerated.
2006-04-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb.pl: added a const_type member to all PDB types,
Removed casts from all get_value_funcs which return const
pointers, they can stay const now.
* tools/pdbgen/app.pl: use the const_type to declare input args.
* app/pdb/gimpprocedure.h: pass const arguments to the internal
marshallers.
* app/xcf/xcf.c: changed accordingly.
* tools/pdbgen/pdb/paint_tools.pdb
* tools/pdbgen/pdb/paths.pdb: added some const qualifiers.
* tools/pdbgen/lib.pl: use the const_type for input args instead
of adding the const qualifier based on the type.
* app/pdb/_cmds.c
* libgimp/gimpparasite_pdb.[ch]: regenerated.
Unrelated:
* app/pdb/gimpargument.c (gimp_arguments_destroy): no need any
more to destroy the argument array in reverse order (we don't need
access to the previous element because arrays in GValues memory
manage themselves now).
2006-04-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/lib.pl: use the variable initializer defined with
the PDB type instead of figuring it manually. Removed a line of
code that checked for enums without "Gimp" prefix.
* libgimp/gimpbrush_pdb.c
* libgimp/gimpchannel_pdb.c
* libgimp/gimpcontext_pdb.c
* libgimp/gimpgradient_pdb.c
* libgimp/gimplayer_pdb.c
* libgimp/gimpunit_pdb.c
* libgimp/gimpvectors_pdb.c: all doubles are initialized with 0.0
instead of 0 now.
2006-03-31 Michael Natterer <mitch@gimp.org>
* app/pdb/gimpprocedure.h (struct ProcRecord): added new member
"gboolean static_strings", so the ProcRecord struct and its
strings can be marked as static separately.
* app/pdb/gimpprocedure.[ch] (gimp_procedure_dispose): removed.
(gimp_procedure_free): don't free the struct if it's static.
(gimp_procedure_set_strings)
(gimp_procedure_set_static_strings)
(gimp_procedure_take_strings): new functions to set a procedure's
strings.
* app/pdb/procedural_db.c (procedural_db_free_entry): simply call
gimp_procedure_free() on all procedures, the memory-manage
themselves now.
* app/plug-in/plug-in-message.c (plug_in_handle_proc_install): use
gimp_procedure_set_strings() instead of setting them manually.
* app/xcf/xcf.c: register gimp-xcf-load and gimp-xcf-save
dynamically so further ProcRecord struct changes don't affect this
file.
* tools/pdbgen/app.pl: set "static_proc" to TRUE for static procs.
* app/pdb/*_cmds.c: regenerated.
2006-03-31 Michael Natterer <mitch@gimp.org>
* app/pdb/gimpprocedure.[ch] (struct ProcRecord): added new member
"gboolean static_proc" which indicates whether a ProcRecord struct
and its strings are static.
(gimp_procedure_dispose): new function which frees the procedure's
args and values, and its strings if it is not static.
* app/xcf/xcf.c
* tools/pdbgen/app.pl: set "static_proc" to TRUE for static procs.
* app/pdb/procedural_db.c (procedural_db_free): call
gimp_procedure_free() or gimp_procedure_dispose(), depending on
procedure->static_proc.
* app/pdb/procedural_db.h: removed #if 0'ed cruft.
* app/plug-in/plug-in-proc-def.[ch]: removed
plug_in_proc_def_get_proc().
* app/file/file-open.c
* app/file/file-save.c
* tools/pdbgen/pdb/fileops.pdb: access proc_def->procedure directly.
* app/pdb/*_cmds.c: regenerated.
2006-03-31 Michael Natterer <mitch@gimp.org>
* app/pdb/gimpprocedure.[ch]: added gimp_procedure_new() and
gimp_procedure_free() functions.
* app/plug-in/plug-in-proc-def.h (struct PlugInProcDef): use a
ProcRecord pointer instead of including the entire struct.
* app/plug-in/plug-in-proc-def.c: use the new() and free()
functions above to allocate/free the ProcRecord.
* app/actions/plug-in-actions.c
* app/actions/plug-in-commands.c
* app/menus/plug-in-menus.c
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-in-run.c
* app/plug-in/plug-in.c
* app/plug-in/plug-ins-query.c
* app/plug-in/plug-ins.c
* app/xcf/xcf.c: changed accordingly.
Unrelated:
* app/pdb/gimpprocedure.c (gimp_procedure_execute): be more verbose
when warning about out-of-bounds parameter values.
* tools/pdbgen/pdb/fileops.pdb: allow GIMP_RUN_WITH_LAST_VALS for
file_save because indirect saving (e.g. remote or compressed)
needs it.
* app/pdb/fileops_cmds.c: regenerated.
2006-03-30 Sven Neumann <sven@gimp.org>
* app/paint/gimpclone.[ch]: use doubles for src coordinates. Added
properties for "src-drawable", "src-x" and "src-y".
* tools/pdbgen/pdb/paint_tools.pdb: resurrected cloning from
drawables over the PDB. This used to be broken for quite a while.
* app/pdb/paint_tools_cmds.c: regenerated.
2006-03-30 Michael Natterer <mitch@gimp.org>
* app/pdb/procedural_db.[ch] (struct Argument): replace the value
union by a GValue.
(procedural_db_argument_init)
(procedural_db_compat_arg_init): new functions to initialize
an Argument. They call g_value_init() on the Argument's value.
(procedural_db_arguments)
(procedural_db_return_values): initialize the returned Argument
arrays so their GValues are ready to use. Allow to get the
(unsuccessful) return values of a NULL ProcRecord.
(procedural_db_destroy_args): g_value_unset() the values. Added a
"gboolean full_destroy" parameter. Its only effect is to destroy
PDB arrays, everything else is nicely memory managed by GValue.
(procedural_db_execute)
(procedural_db_run_proc): do GValue stuff. Added n_args and
n_return_vals parameters to execute().
(procedural_db_execute_proc): private function to execute a
procedure. Validates the passed in arguments using the registered
GParamSpecs before passing them to the resp. exec method.
* app/plug-in/plug-in-params.[ch] (plug_in_params_to_args): needs
an array of ProcArgs now in order to initialize the Arguments'
GValues correctly. Passing NULL ProcArgs uses
procedural_db_compat_arg_init(), so procedures (plug-ins)
returning more values than expected work.
(plug_in_args_to_params): do GValue stuff here too.
(plug_in_args_destroy): removed this function,
procedural_db_destroy_args() does the same now.
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run):
simplified quite a bit because everything returns n_return_values
now. Call plug_in_params_to_args() only of the procedure was found.
(plug_in_handle_proc_return_priv): pass ProcRecs to
plug_in_params_to_args().
* app/batch.c
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c
* app/core/gimppdbprogress.c
* app/dialogs/about-dialog.c
* app/file/file-open.c
* app/file/file-save.c
* app/plug-in/plug-ins.c
* app/plug-in/plug-in-progress.c
* app/plug-in/plug-in-run.[ch]
* app/widgets/gimphelp.c
* app/widgets/gimppdbdialog.c
* app/xcf/xcf.c
* tools/pdbgen/pdb/fileops.pdb: changed accordingly: don't
g_new/g_free Argument arrays, always use procedural_db_foo()
functions. Use GValue functions to get/set Arguments.
* tools/pdbgen/pdb.pl: added get_value_func and set_value_func to
all PDB types. Removed id_func, id_ret_func and check_func. Added
flags which indicated that a type is an ID. Removed unused utility
functions.
* tools/pdbgen/lib.pl: use the flag instead of looking at
functions and value types.
* tools/pdbgen/app.pl: use the get_value_func and set_value_func
to marshal inargs and outargs. Removed all checks performed on
inargs because that's done by GParamSpec validation now. Added the
missing bits to register excluded values with GimpParamSpecEnum.
* app/pdb/*_cmds.c: regenerated.
2006-03-29 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/fileops.pdb (file_save): pass the filename, not
a GimpImage to file_utils_filename_to_uri(). Fixes bug #336527.
* app/pdb/fileops_cmds.c: regenerated.
2006-03-29 Michael Natterer <mitch@gimp.org>
* app/pdb/procedural_db.[ch] (procedural_db_init_proc): return the
procedure.
* tools/pdbgen/app.pl: use a local ProcRecord* variable so the
generated code becomes more readable.
* app/pdb/*_cmds.c: regenerated.
2006-03-28 Michael Natterer <mitch@gimp.org>
* app/pdb/procedural_db.[ch] (struct ProcArg): replace "name"
and "description" by a GParamSpec.
(procedural_db_init_proc)
(procedural_db_add_argument)
(procedural_db_add_return_value)
(procedural_db_add_compat_arg)
(procedural_db_add_compat_val): new functions which dynamically
allocate and register arguments and return value arrays based on
GParamSpecs.
* app/pdb/procedural-db-query.c
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-proc-def.c
* app/plug-in/plug-in-rc.c
* app/xcf/xcf.c
* tools/pdbgen/pdb/procedural_db.pdb: changed accordingly.
* tools/pdbgen/app.pl: get rid of all ProcArg arrays and generate
code that registers args and values with the procedures.
* app/pdb/*_cmds.c: regenerated.
2006-03-27 Michael Natterer <mitch@gimp.org>
* app/pdb/procedural_db.h (ArgMarshal): pass the ProcRecord as
first parameter, so marshallers have access to their ProcRecord
without the need for global variables.
* app/pdb/procedural_db.c
* tools/pdbgen/app.pl: changed addordingly.
* tools/pdbgen/app.pl: removed support for invoke->proc. Introduce
invoke->no_marshalling instead which indicates that invoke->code
should be used literally as marshaller code, without any
substitutions or generated variables.
* tools/pdbgen/pdb/fileops.pdb: changed accordingly.
* app/pdb/*_cmds.c: regenerated.
2006-03-26 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/lib.pl: removed support for arg->implicit_fill.
* tools/pdbgen/pdb/progress.pdb (progress_init): remove it without
replacement, the generated function on the libgimp side is
internal anyway.
* libgimp/gimpprogress_pdb.[ch] (_gimp_progress_init): rgenerated
with a display_ID parameter.
* libgimp/gimpprogress.c (gimp_progress_init): pass
gimp_default_display() to _gimp_progress_init().
2006-03-22 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/app.pl: removed support for invoke->pass_through.
* tools/pdbgen/pdb/fileops.pdb: added a C utility function and
call it from both register_load_handler() and
register_magic_load_handler() instead of letting the generated
invokers call each other.
* app/pdb/fileops_cmds.c: regenerated.
2006-03-21 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/app.pl: removed support for arg->cond.
* tools/pdbgen/edit.pdb
* tools/pdbgen/image.pdb: move its logic into the C code.
* app/pdb/edit_cmds.c
* app/pdb/image_cmds.c: regenerated.
2006-03-18 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/progress.pdb: got rid of the unused
arg->no_id_lookup.
* tools/pdbgen/pdb/plug_in.pdb: flattened a forgotten foreach().
2006-03-18 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/app.pl: removed support for arg->on_success and
arg->on_fail.
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/paint_tools.pdb
* tools/pdbgen/pdb/selection_tools.pdb: moved their logic to the C
code.
* app/pdb/gradient_select_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/paint_tools_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
2006-03-17 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb.pl: generically map NULL to -1 when returning
object IDs.
* tools/pdbgen/app.pl: remove support for "return_fail => foo"
which did the same on a per-return-value basis. Removed some more
obscure perl without any effect on the generated code.
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/text_tool.pdb: don't use "return_fail => foo".
* app/pdb/channel_cmds.c
* app/pdb/display_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/drawable_transform_cmds.c
* app/pdb/edit_cmds.c
* app/pdb/fileops_cmds.c
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/transform_tools_cmds.c
* app/pdb/vectors_cmds.c: regenerated.
2006-03-16 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/image.pdb: replaced code generated by now gone
utility functions list_proc() and type_move() by pdbgen
boilerplate code. Fixed wrapper of gimp_image_lower_channel() to
actually lower the channel (it was lowering the active layer).
* app/pdb/image_cmds.c
* libgimp/gimpimage_pdb.[ch]: regenerated.
2006-03-15 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/layer.pdb: removed dim(), accessors(),
get_prop() and set_prop() utility functions and expand everything
to pdbgen boilerplate code. Use the real layer mask API instead of
the crap from pdb_glue.h. Fixed some API docs.
* app/pdb/channel_cmds.c
* app/pdb/layer_cmds.c
* libgimp/gimplayer_pdb.c: regenerated.
* app/pdb/Makefile.am
* app/pdb/pdb_glue.h: bye bye uglyness.
2006-03-15 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb.pl: define init values for all pdb types.
* tools/pdbgen/app.pl: unconditionally initialize all return
values, and no parameter.
* tools/pdbgen/pdb/*.pdb: removed init => 1 from all arguments
and return values.
* app/pdb/*_cmds.c: regenerated.
2006-03-14 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/*.pdb: remove lots of perl crack:
- create almost all parameter arrays manually instead of
generating them from utility functions
- removed lots of other utility functions
- moved variable declarations into the enclosed code snippets
where possible
- some cleanup and API doc fixes
* tools/pdbgen/stddefs.pdb: added some perl crack:
define utility functions for all contributors which own more than
some functions, so they can change their names and email addresses
at a central place.
* app/pdb/[many].c: regenerated.
* libgimp/gimpcolor_pdb.c
* libgimp/gimpdrawabletransform_pdb.c
* libgimp/gimptransformtools_pdb.c
* libgimp/gimpvectors_pdb.c: ditto. Changed affect only API docs.
2006-03-13 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-guides.[ch]: added gimp_image_get_guide() and
gimp_image_get_next_guide(), which take a guide_ID and return the
image's GimpGuide with that ID (the one after that for next_guide())
* tools/pdbgen/pdb/guides.pdb: use them instead of having this
code here.
* app/pdb/guides_cmds.c: regenerated.
2006-03-02 Michael Natterer <mitch@gimp.org>
* app/core/gimppickable.[ch]: added new methods ::get_bytes() and
::flush()
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimpimagemap.c
* app/core/gimpprojection.c: implement ::get_bytes()
* app/core/gimpprojection.c: implement ::flush() (immediately
process both the idle renderer's queue and the unflushed update
areas, to make sure that any reading from the projection will
re-construct it).
* app/core/gimp-edit.c
* app/core/gimpchannel.c
* app/core/gimpimage-contiguous-region.c
* app/core/gimpimage-crop.c
* app/core/gimppalette-import.c
* app/paint/gimpclone.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpiscissorstool.c
* tools/pdbgen/pdb/image.pdb: use the pickable interface more
consistently when reading from any drawable or the projection, and
call gimp_pickable_flush() before doing so. Fixes bug #332933.
* app/core/gimpimage-pick-color.c: added comment why the we don't
call gimp_pickable_flush() here.
* app/pdb/image_cmds.c
* libgimp/gimpimage_pdb.c: regenerated.
2006-03-02 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/image.pdb: corrected documentation for
gimp_image_[lower|raise]_layer(). We do not any longer refuse to
raise and lower based on a missing alpha channel.
* app/pdb/image_cmds.c
* libgimp/gimpimage_pdb.c: regenerated.
2006-02-21 Michael Natterer <mitch@gimp.org>
* app/plug-in/Makefile.am
* app/plug-in/plug-in-data.[ch]: new files which keep the
plug-in data list.
* app/pdb/procedural_db.[ch]: removed here, it only cluttered the
file with unrelated functionality.
* app/core/gimp.[ch]
* app/actions/plug-in-commands.c
* tools/pdbgen/pdb/procedural_db.pdb: changed accordingly.
* app/pdb/procedural_db_cmds.c: regenerated.
2006-02-20 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/progress.pdb
* libgimp/gimpprogress.[ch]: applied slightly modified patch from
Stephane Chauveau. Wraps the gimp_progress_update() PDB call so
that redundant progress updates are suppressed in libgimp. This
gives a noticeable speedup for all plug-ins that update the
progress too often (bug #331470).
* libgimp/gimpprogress_pdb.[ch]: regenerated.
2006-01-11 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in.[ch]
* tools/pdbgen/pdb/plug_in.pdb: moved code from the PDB wrapper to
a utility function in the core.
* app/pdb/plug_in_cmds.c: regenerated.
2006-01-11 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register): warn if a
plug-in attempts to register a menu path for a procedure that it
didn't install.
* app/pdb/plug_in_cmds.c: regenerated.
2006-01-05 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/brush.pdb (gimp-brush-set-spacing): allow to
change the spacing of brushes the user doesn't have write access
to. The user interface allows to do that as well.
* app/pdb/brush_cmds.c: regenerated.
2006-01-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/context.pdb
* libgimp/gimp.def: added gimp-context-get/set-paint-method which
get/set the context's paint-info by name. Use these functions to
stroke with any paint method (still only with its default paint
options).
* app/pdb/context_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpcontext_pdb.[ch]: regenerated.
2005-12-29 Simon Budig <simon@gimp.org>
* tools/pdbgen/pdb/image.pdb: new function:
image_add_vectors
* tools/pdbgen/pdb/vectors.pdb: new functions:
vectors_get_strokes
vectors_stroke_get_point_at_dist
vectors_stroke_close
removed nonfunctional undo code (that does not belong here anyways)
and fixed a bug in [...]_cubicto.
* app/pdb/image_cmds.c
* app/pdb/internal_procs.c
* app/pdb/vectors_cmds.c
* libgimp/gimpimage_pdb.[ch]
* libgimp/gimpvectors_pdb.[ch]: regenerated.
2005-12-29 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbaseenums.[ch] (enum GimpPDBArgType): renamed
GIMP_PDB_PATH to GIMP_PDB_VECTORS and add the former as an alias
for the latter.
* libgimp/gimp.h (union _GimpParamData): added back d_path member
to maintian source compatibility.
* tools/pdbgen/pdb.pl
* libgimp/gimp.c
* app/pdb/procedural_db.c
* app/plug-in/plug-in-params.c
* libgimpbase/gimpprotocol.[ch]
* plug-ins/pygimp/pygimp-pdb.c
* plug-ins/script-fu/siod-wrapper.c: s/GIMP_PDB_PATH/GIMP_PDB_VECTORS/
* app/pdb/image_cmds.c
* app/pdb/procedural_db_cmds.c
* app/pdb/vectors_cmds.c
* libgimp/gimpimage_pdb.c
* libgimp/gimpvectors_pdb.c
* tools/pdbgen/enums.pl: regenerated.
2005-12-28 Simon Budig <simon@gimp.org>
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/vectors.pdb: Added new functions for the vectors
PDB API. Minor cleanups. Please try to use them and test:
gimp_image_get_active_vectors
gimp_image_set_active_vectors
gimp_image_get_vectors_by_tattoo
gimp_image_lower_vectors
gimp_image_lower_vectors_to_bottom
gimp_image_raise_vectors
gimp_image_raise_vectors_to_top
gimp_image_remove_vectors
gimp_vectors_get_locked
gimp_vectors_set_locked
gimp_vectors_get_name
gimp_vectors_set_name
gimp_vectors_get_visible
gimp_vectors_set_visible
gimp_vectors_stroke_get_length
gimp_vectors_stroke_remove
gimp_vectors_stroke_scale
* libgimp/gimp.[ch]: renamed the unused d_path to d_vectors and
use it. Untabbified.
* devel-docs/libgimp/tmpl/gimpvectors.sgml
* app/pdb/image_cmds.c
* app/pdb/internal_procs.c
* app/pdb/vectors_cmds.c
* libgimp/gimpimage_pdb.[ch]
* libgimp/gimpvectors_pdb.[ch]: Regenerated
* app/vectors/gimpstroke.h: minor cleanup.
2005-11-05 Sven Neumann <sven@gimp.org>
* tools/pdbgen/app.pl: removed calls to the splash update function
during initialization of internal procedures. This only takes time
and doesn't provide useful information.
* app/pdb/internal_procs.[ch]: regenerated.
* app/pdb/procedural_db.[ch]: changed accordingly.
* core/gimp.c: call the splash update function from here.
2005-11-05 Sven Neumann <sven@gimp.org>
* app/gui/splash.c: added some commented-out debug output that can
be used to get an idea of where the startup time is being spent.
* app/core/gimp.c
* app/pdb/internal_procs.c
* app/pdb/procedural_db.c
* app/plug-in/plug-ins.c
* tools/pdbgen/app.pl: cosmetic changes.
2005-10-07 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/grid.pdb: fixed (false) uninitialized variable
warnings and cleaned up the code a bit.
* app/pdb/grid_cmds.c: regenerated.
2005-09-29 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/progress.pdb: removed the "wrap" from
gimp_progress_set_text() so it shows up as libgimp function again.
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimpprogress.[ch]: changed the old
gimp_progress_set_text() to gimp_progress_set_text_printf() and
added gimp_progress_init_printf(). (did this because the method of
calling init(NULL) followed by set_text("foo") caused popup
progress windows to be resized after they were shown).
* libgimp/gimp.def: changed accordingly.
* plug-ins/*/*.c: use gimp_progress_init_printf() instead of
init(NULL) plus set_text(foo) and changed users of set_text() to
use set_text_printf().
2005-09-09 Michael Natterer <mitch@gimp.org>
Added parent window API to the GimpProgress interface and to
the libgimp progress stuff. Might look strange, but does
the right thing in almost all cases (image window, file dialog,
script-fu dialog etc). Fixes bug #62988.
* app/core/gimpprogress.[ch]: added GimpProgress::get_window()
which should return a toplevel window ID if the progress is in a
window that wants to be the transient parent of plug-in dialogs.
* app/widgets/gimpwidgets-utils.[ch] (gimp_window_get_native): new
function which returns the window handle of a GtkWindow's GdkWindow.
* app/widgets/gimpfiledialog.c: implement ::get_window().
* app/display/gimpdisplay.[ch]: ditto. Removed window handle API.
* app/gui/gui-vtable.c: changed accordingly.
* libgimpbase/gimpbaseenums.[ch] (enum GimpProgressCommand):
added GIMP_PROGRESS_COMMAND_GET_WINDOW.
* app/plug-in/plug-in-progress.[ch] (plug_in_progress_get_window):
new function. Also renamed some functions to match the
GimpProgress interface, and not the legacy PDB procedure names.
* tools/pdbgen/pdb/progress.pdb
* app/core/gimppdbprogress.c: implement get_window() on both
sides of the wire, keeping backward compatibility (hopefully).
* libgimp/gimpprogress.[ch]: deprecated gimp_progress_install()
and added gimp_progress_install_vtable() which takes a vtable with
padding to be extensible. Added get_window() vtable entry and
dispatch it accordingly. Also added pulse() which was implemented
in a hackish way before. Everything is of course backward
compatible.
* libgimp/gimpprogressbar.c: inmplement the get_window() stuff
so a plug-in dialog containing a progress can be the transient
parent of another dialog in another plug-in.
* libgimp/gimpui.[ch] (gimp_ui_get_progress_window): new function
which returns a foreign GdkWindow of this plug-ins progress
window.
Renamed gimp_window_set_transient_for_default_display() to
gimp_window_set_transient() and make it use the progress' window
handle instead of the display's (which is the right thing to do in
almost all cases).
* libgimp/gimp.def
* libgimp/gimpui.def: add the new functions.
* tools/pdbgen/enums.pl
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimpexport.c
* plug-ins/*/*.c: follow API change.
2005-09-05 Sven Neumann <sven@gimp.org>
Address bug #307971:
* app/core/gimp-gui.[ch]
* app/display/gimpdisplay.[ch]
* app/gui/gui-vtable.c
* tools/pdbgen/pdb/display.pdb: added PDB function to obtain a
window handle on an image display.
* app/pdb/display_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpdisplay_pdb.[ch]: regenerated.
* libgimp/gimpui.[ch]: added functions to set a GtkWindow transient
to an image display.
* plug-ins/common/gauss.c: use the new function exemplarily.
* libgimp/gimp.def
* libgimp/gimpui.def: updated.
2005-09-03 Michael Natterer <mitch@gimp.org>
* app/core/gimp-edit.[ch] (gimp_edit_paste_as_new): don't create a
display here.
(gimp_edit_named_cut)
(gimp_edit_named_copy)
(gimp_edit_named_copy_visible): new functions containing named
buffer wrappers around the functions affecting the global buffer
only.
* app/actions/edit-commands.c: use the new functions instead of
implementing them here, create a display for the image returned
by paste as new.
* app/actions/buffers-commands.c
* app/widgets/gimptoolbox-dnd.c: create displays here too.
* tools/pdbgen/pdb/edit.pdb: added wrappers for paste as new and
wrappers for all the cut/copy/paste named stuff.
Fixes bug #315130. Cleaned up and de-obfuscated.
* libgimp/gimp.def: changed accordingly.
* app/pdb/edit_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpedit_pdb.[ch]: regenerated.
2005-09-02 Michael Natterer <mitch@gimp.org>
* tools/test-clipboard.c (test_clipboard_copy_callback): don't
quit the main loop after transferring the data to GTK, it needs a
running main loop to get the chunks tranferred to X.
2005-08-05 Manish Singh <yosh@gimp.org>
* tools/pdbgen/pdbgen.pl: store canonical names of proc names and
args in the proc structure.
* tools/pdbgen/app.pl
* tools/pdbgen/lib.pl: use the above.
* app/pdb/*_cmds.c: regenerated.
2005-08-03 Michael Natterer <mitch@gimp.org>
Changed naming scheme for PDB procedure names from
random_crap_that_traditionally_has_underscores to
enforced-canonical-identifiers. I'm pretty sure some things are
broken after this commit. More changes to come...
* libgimpbase/gimpbase.def
* libgimpbase/gimputils.[ch]: added gimp_canonicalize_identifier().
* app/pdb/procedural_db.[ch] (struct ProcRecord): added
"gchar *original_name" to keep a procedure's original name as
reigstered by plug-ins (compat cruft).
(procedural_db_init_procs): canonicalized list of deprecated
procedures.
* app/plug-in/plug-in-proc-def.c (plug_in_proc_def_free): free
original_name.
* app/plug-in/plug-in-message.c: canonicalize procedure names
which are received over the wire.
* app/plug-in/plug-in-rc.c: serialize the original_name and create
the canonicalized name on-the-fly when deserializing.
* app/plug-in/plug-in-run.c: pass the original_name to plug-ins
when running them because they strcmp() the passed procedure name.
* app/plug-in/plug-ins.c (plug_ins_add_to_db): pass
canonical procedure names to procedural_db_execute().
(plug_ins_file_proc_compare): special-case "gimp-xcf", not "gimp_xcf".
* app/xcf/xcf.c: changed static XCF procedures accordingly.
* tools/pdbgen/app.pl
* tools/pdbgen/lib.pl: do some trivial substitutions to generate
canonicalized names in app/, and C identifiers with underscores in
libgimp/.
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/patterns.pdb
* tools/pdbgen/pdb/plug_in.pdb
* tools/pdbgen/pdb/procedural_db.pdb
* tools/pdbgen/pdb/text_tool.pdb
* tools/pdbgen/pdb/transform_tools.pdb: canonicaloized procedure
names in calls to std_pdb_deprecated() and in procedure names in
generated C code.
* app/pdb/*_cmds.c
* libgimp/*_pdb.c: regenerated.
2005-07-29 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-foreground-extract.[ch]: added a progress
parameter.
* app/tools/gimpforegroundselecttool.[ch]: changed the "select"
method to take a GimpDisplay instead of a GimpImage.
* tools/pdbgen/pdb/drawable.pdb
* app/tools/gimpforegroundselecttool.c: changed accordingly.
* app/pdb/drawable_cmds.c: regenerated.
2005-07-29 Sven Neumann <sven@gimp.org>
* libgimpbase/gimpbaseenums.[ch]: added GimpForegroundExtractMode
in preparation for other implementations to be added in the future.
* libgimp/gimpenums.c.tail
* tools/pdbgen/enums.pl: regenerated.
* app/core/gimpdrawable-foreground-extract.[ch]
* app/tools/gimpforegroundselecttool.c
* tools/pdbgen/pdb/drawable.pdb: added the mode parameter.
* app/pdb/drawable_cmds.c
* libgimp/gimpdrawable_pdb.[ch]: regenerated.
2005-07-10 Sven Neumann <sven@gimp.org>
* app/base/segmentator.[ch]: ported to GIMP data structures. There
are still some TODOs, smooth_mask() isn't implemented yet.
* app/core/Makefile.am
* app/core/gimpdrawable-foreground-extract.[ch]: thin wrapper around
the new segmentation algorithm.
* tools/pdbgen/pdb/drawable.pdb: added a first draft of a PDB API
for foreground extraction.
* app/pdb/drawable_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpdrawable_pdb.[ch]: regenerated.
2005-06-26 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/gimprc.pdb: allow to access (read-only) the
current color management configuration through the PDB.
* libgimp/gimpgimprc_pdb.[ch]
* app/pdb/gimprc_cmds.c
* app/pdb/internal_procs.c: regenerated.
* libgimp/Makefile.am
* libgimp/gimp.h
* libgimp/gimpgimprc.[ch]: wrap the new PDB function to make it
easier to use from plug-ins. This change adds a dependency on
libgimpconfig to libgimp.
* gimp.pc.in: changed accordingly.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/gfig/gfig-dialog.c
* plug-ins/gflare/gflare.c: no need to include gimpconfig.h
explicitely any longer.
* libgimp/gimpfontselectbutton.c: fixed gtk-doc comments.
2005-06-03 Manish Singh <yosh@gimp.org>
* tools/pdbgen/enumcode.pl: make _gimp_enums_init public, so
language bindings can do early enum registration if needed.
* libgimp/gimpenums.h
* libgimp/gimpenums.c.tail: regenerated
* gimp.c: call gimp_enums_init instead of _gimp_enums_init.
* gimp.def: add newly exported function.
2005-06-01 Simon Budig <simon@gimp.org>
* app/vectors/gimpvectors.c: cosmetic change: Make the stroke IDs
start from 1.
* tools/pdbgen/pdb/vectors.pdb: Two more wrappers:
vectors_stroke_remove and vectors_stroke_interpolate. Undo still
unsolved.
* app/pdb/internal_procs.c
* app/pdb/vectors_cmds.c
* libgimp/gimpvectors_pdb.[ch]: regenerated.
2005-05-25 Michael Natterer <mitch@gimp.org>
* tools/test-clipboard.c: added --store option which tries to
store a file in the clipboard manager, improved error reporting.
2005-05-22 Sven Neumann <sven@gimp.org>
* tools/gimp-mkenums (parse_trigraph): use quotewords() from
Text::ParseWords to split the trigraph. This function correctly
deals with commas inside quotes.
* app/core/core-enums.[ch]: tweaked descriptions in the
GimpDashPreset enum.
2005-05-22 Michael Natterer <mitch@gimp.org>
* tools/test-clipboard.c: added --selection-type option which
allows operating on any of PRIMARY, SECONDARY and CLIPBOARD.
2005-05-17 Simon Budig <simon@gimp.org>
* tools/pdbgen/pdb/vectors.pdb: Make gimp_vectors_get_strokes()
work, add gimp_vectors_stroke_translate() (I am not sure if this
stays in the API, I am currently testing undo and freeze/thaw
issues...)
* app/pdb/internal_procs.c
* app/pdb/vectors_cmds.c
* libgimp/gimpvectors_pdb.[ch]: regenerated.
2005-05-17 Simon Budig <simon@gimp.org>
* app/vectors/gimpvectors.[ch]: added gimp_vectors_get_n_strokes ();
* tools/pdbgen/pdb/vectors.pdb: Attempt to fill an array with IDs,
does not yet work.
* app/pdb/vectors_cmds.c
* libgimp/gimpvectors_pdb.c: regenerated.
2005-05-15 Michael Natterer <mitch@gimp.org>
* app/pdb/Makefile.am
* app/pdb/procedural-db-query.[ch]: new files containing all the
evil string matching and DB dump code.
* tools/pdbgen/pdb/procedural_db.pdb: removed the evilness here
and use the new functions.
* app/pdb/procedural_db_cmds.c: regenerated.
2005-05-14 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbaseenums.[ch]: register descriptions for the
GimpPDBProcType enum.
* plug-ins/dbbrowser/gimpprocview.c
* tools/pdbgen/pdb/procedural_db.pdb: get rid of all selfmade
enum->string mapping. Get the strings from the GType system instead.
* app/pdb/procedural_db_cmds.c
* libgimp/gimpproceduraldb_pdb.c: regenerated.
2005-05-14 Michael Natterer <mitch@gimp.org>
* app/pdb/procedural_db.h
* tools/pdbgen/pdb/procedural_db.pdb: removed pdb_type_name()
uglyness.
* app/pdb/procedural_db.c: add private function
procedural_db_type_name() instead which uses gimp_enum_get_value()
and always returns a newly allocated string. Use it for the error
messages.
* app/pdb/procedural_db_cmds.c: regenerated.
2005-05-04 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc-def.[ch] (plug_in_proc_def_find): new
function which finds a proc_def in a GSList by its procedure name.
* app/plug-in/plug-in-message.c
* app/plug-in/plug-ins.c
* tools/pdbgen/pdb/plug_in.pdb: use it instead of iterating and
comparing manually.
* app/pdb/plug_in_cmds.c: regenerated.
* app/plug-in/plug-in-def.c: minor cleanups.
2005-05-04 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc-def.[ch] (plug_in_proc_def_set_icon):
new function.
* tools/pdbgen/pdb/plug_in.pdb: removed the same code here and use
the new function.
* app/pdb/plug_in_cmds.c: regenerated.
2005-04-16 Sven Neumann <sven@gimp.org>
Applied a patch (with minor modifications) from Karine Delvare
that makes it possible to choose between various ways to remove
color from a drawable (bug #155507):
* libgimpbase/gimpbaseenums.h: added new enum GimpDesaturateMode.
* libgimpbase/gimpbaseenums.c
* libgimp/gimpenums.c.tail
* plug-ins/pygimp/gimpenums.py
* tools/pdbgen/enums.pl: regenerated.
* app/core/gimpdrawable-desaturate.[ch]: implement other formulas
to remove colors from a drawable.
* tools/pdbgen/pdb/color.pdb: let gimp_desaturate() call
gimp_drawable_desaturate() with GIMP_DESATURATE_LIGHTNESS so that
it behaves like it always did.
* app/pdb/color_cmds.c: regenerated.
* app/dialogs/Makefile.am
* app/dialogs/desaturate-dialog.[ch]: new files that define a simple
dialog to choose a mode for desaturation.
* app/actions/drawable-actions.[ch]: use the new dialog.
2005-04-16 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/vectors.pdb: let pdbgen create the code to
initialize the variables.
* app/pdb/vectors_cmds.c: regenerated.
2005-04-14 Simon Budig <simon@gimp.org>
Started a PDB api for vectors/strokes. Not yet functional, this
commit is to get the infrastructure up and running.
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpvectors.[ch]: Added IDs to the strokes
* tools/pdbgen/pdb.pl: corrected "vectors" type, deleted "path" type.
* tools/pdbgen/pdb/image.pdb: added gimp_image_get_vectors()
* tools/pdbgen/pdb/vectors.pdb: New file for the vectors API
(just a stub for now)
* tools/pdbgen/Makefile.am: Added vectors.pdb
* tools/pdbgen/groups.pl: regenerated.
* plug-ins/script-fu/siod-wrapper.c: Enable the Path/Vectors type.
* libgimp/gimpvectors_pdb.[ch]
* app/pdb/vectors_cmds.c: new autogenerated files.
* libgimp/Makefile.am
* app/pdb/Makefile.am: Added new autogenerated file.
* libgimp/gimp_pdb.h
* libgimp/gimpimage_pdb.[ch]
* app/pdb/image_cmds.c
* app/pdb/internal_procs.c: regenerated.
2005-04-05 Michael Natterer <mitch@gimp.org>
* app/plug-in/Makefile.am
* app/plug-in/plug-ins-query.[ch]: new files containing
plug_ins_query().
* tools/pdbgen/pdb/plug_in.pdb (plugins_query): remove all code
and use above function.
* app/pdb/plug_in_cmds.c: regenerated.
2005-04-05 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/plug_in.pdb (plugins_query): strip the menu
strings from underlines before matching. Fixed function to not
match all procedures twice.
* app/pdb/plug_in_cmds.c: regenerated.
2005-04-05 Sven Neumann <sven@gimp.org>
* configure.in: renamed localedir to gimplocaledir.
* libgimpbase/Makefile.am (AM_CPPFLAGS)
* tools/Makefile.am (AM_CPPFLAGS): changed accordingly.
* gimp.pc.in: added gimplocaledir to the pkg-config file to give
plug-ins a chance to get gimp_locale_directory() at compile time.
2005-03-24 Michael Natterer <mitch@gimp.org>
Added API to explicitly register dynamic menu items hierarchies.
Fixes bug #170623.
* app/core/gimp.h: added "GSList *plug_in_menu_branches".
* app/plug-in/plug-in-types.h
* app/plug-in/plug-ins.[ch]: added API to register plug-in menu
branches, just as for locale and help domans. Cleaned up handling
of locale and help domains.
(plug_ins_exit): free the registered menu branches.
* app/actions/plug-in-actions.[ch] (plug_in_actions_add_branch):
new function to explicitly add a menu branch action.
(plug_in_actions_setup): add the registered menu branches to each
new action group.
(plug_in_actions_build_path): always strip the untranslated menu
path from underlines before using it as hash table key or action
name.
* app/menus/plug-in-menus.c (plug_in_menus_add_proc): changed
accordingly: strip underlines from untranslated menu paths before
passing them to plug_in_menus_build_path().
* app/core/gimp-gui.[ch]: added gimp_menus_create_branch() plus
vtable entry to access the new stuff from the core. Renamed the
functions desling with items from gimp_foo_entry() to
gimp_foo_item().
* app/gui/gui-vtable.c: implement create_branch() and add the
branch action to all existing "plug-in" action groups. Note that
we don't need to create any menus because that happens implicitly
when adding menu items.
* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_branch_register): new
PDB wrapper to access branch registering from plug-ins.
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* libgimp/gimp.def: changed accordingly.
* plug-ins/script-fu/script-fu-scripts.c (script_fu_find_scripts):
register the menu branches for all included scripts.
2005-03-13 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb
(drawable_transform_scale)
(drawable_transform_scale_default): applied fix from Theodor de
Ment which fixes a wrong precondition check which made certain
scale operations impossible. Fixes bug #170195.
* tools/pdbgen/pdb/transform_tools.pdb (scale): fixed the same
copy & paste bug here.
* app/pdb/drawable_transform_cmds.c
* app/pdb/transform_tools_cmds.c: regenerated.
2005-03-08 Sven Neumann <sven@gimp.org>
* app/core/gimppalette.[ch]: renamed gimp_palette_[gs]et_n_columns
to gimp_palette_[gs]et_num_columns().
* app/dialogs/palette-import-dialog.c
* app/widgets/gimppaletteeditor.c: changed accordingly.
* tools/pdbgen/pdb/palette.pdb: added new PDB function to control
the number of columns used when displaying a palette (bug #169370).
* app/pdb/internal_procs.c
* app/pdb/palette_cmds.c
* libgimp/gimppalette_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
2005-02-27 Sven Neumann <sven@gimp.org>
* app/core/gimpgradient.[ch]: removed the "last_visited" field
from GimpGradient. Instead added the new function
gimp_gradient_get_color_at_segment() that allows the caller to do
the same optimization.
* app/actions/gradient-editor-commands.c
* app/core/gimpdrawable-blend.c
* app/core/gimppalette-import.c
* app/paint/gimppaintoptions.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimpviewrenderergradient.c: changed accordingly.
* app/pdb/gradient_cmds.c
* app/pdb/gradients_cmds.c: regenerated.
2005-02-22 Shlomi Fish <shlomif@iglu.org.il>
* tools/pdbgen/pdb/channel.pdb: add the
gimp_channel_new_from_component() PDB function.
* libgimp/gimpchannel_pdb.c
* app/pdb/channel_cmds.c: resultant files.
* libgimp/gimp.def: add the new function to the def file
* devel-docs/libgimp/libgimp-sections.txt: add the new function
to devel-docs
2005-02-15 Sven Neumann <sven@gimp.org>
* app/core/gimpimagemap.[ch]: changed GimpImageMapApplyFunc to
be compatible with PixelProcessorFunc.
* app/base/color-balance.[ch]
* app/base/colorize.[ch]
* app/base/gimplut.[ch]
* app/base/hue-saturation.[ch]
* app/base/threshold.[ch]: removed wrappers that used to
shift parameters around to match GimpImageMapApplyFunc and
PixelProcessorFunc signatures.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: changed accordingly.
* tools/pdbgen/pdb/color.pdb: use pixel_region_process_parallel()
for all color operations.
* app/pdb/color_cmds.c: regenerated.
2005-02-14 Sven Neumann <sven@gimp.org>
* app/base/gimphistogram.[ch]: allocate temporary histogram slots
on demand and provide an array with enough slots for the maximum
number of threads. gimp_histogram_new() doesn't need a
GimpBaseConfig parameter any longer.
* app/core/gimpdrawable-equalize.c
* app/core/gimpdrawable-levels.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/tools/gimpthresholdtool.c
* app/widgets/gimphistogrameditor.c
* tools/pdbgen/pdb/color.pdb: changed accordingly.
* app/pdb/color_cmds.c: regenerated.
2005-02-13 Sven Neumann <sven@gimp.org>
* app/core/gimpprogress.c (gimp_progress_start): accept an empty
string.
* app/plug-in/plug-in-progress.c: if NULL is passed as message to
plug_in_progress_start(), set an empty string on the progress.
* tools/pdbgen/pdb/progress.pdb:
* libgimp/gimpprogress.[ch]: wrap the new gimp_progress_set_text()
PDP function with a function that accepts printf-like arguments.
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* lots of plug-ins, most of them file plug-ins:
use gimp_progress_init(NULL) followed by gimp_progress_set_text()
to initialize the progress using the new API instead of constructing
a temporary string.
2005-02-12 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbaseenums.h (enum GimpProgressCommand):
added GIMP_PROGRESS_COMMAND_PULSE.
* libgimpbase/gimpbaseenums.c
* plug-ins/pygimp/gimpenums.py
* tools/pdbgen/enums.pl: regenerated.
* app/core/gimppdbprogress.c: implement GimpProgress::pulse()
and send a PULSE command to the callback.
* libgimp/gimpprogress.c: handle PULSE by calling the set_value()
callback with a value of -1 and document that hack in the API docs.
* libgimp/gimpprogressbar.c: interpret -1 as request to pulse.
2005-02-12 Sven Neumann <sven@gimp.org>
* app/core/gimpprogress.[ch]: added GimpProgress::pulse.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpprogressbox.c
* app/widgets/gimpprogressdialog.c
* app/widgets/gimpthumbbox.c: implement it in the classes that
implement the GimpProgress interface.
* app/plug-in/plug-in-progress.[ch]: allow plug-ins to pulse their
progress.
* tools/pdbgen/pdb/progress.pdb: added a procedure for the new
functionality.
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
2005-02-03 Sven Neumann <sven@gimp.org>
* tools/Makefile.am
* tools/gimp-remote.c: allow to localize gimp-remote.
* app/main.c: changed a string so it can be shared with gimp-remote.
2005-01-23 Sven Neumann <sven@gimp.org>
* app/paint/paint-enums.h
* libgimpbase/gimpbaseenums.h: moved enums to libgimpbase (from
app/paint and libgimp). The remaining enums in
app/paint/paint-enums.h need special treatment.
* app/paint/paint-enums.c:
* libgimp/gimpenums.h
* libgimpbase/gimpbaseenums.c
* tools/pdbgen/enums.pl: regenerated.
* libgimpbase/gimpbase.def
* libgimp/gimp.def: updated.
2005-01-23 Sven Neumann <sven@gimp.org>
* app/plug-in/Makefile.am
* app/plug-in/plug-in-enums.h: new file with enums moved from ...
* app/plug-in/plug-in-types.h: ... here.
* tools/pdbgen/Makefile.am (enum_headers): changed accordingly.
2005-01-23 Sven Neumann <sven@gimp.org>
* app/core/core-enums.h
* libgimpbase/gimpbaseenums.h: moved enums to libgimpbase (from
app/core and libgimp). The remaining enums in app/core/core-enums.h
need special treatment.
* app/core/core-enums.c:
* libgimp/gimpenums.h
* libgimpbase/gimpbaseenums.c
* tools/pdbgen/enums.pl: regenerated.
* libgimpbase/gimpbase.def
* libgimp/gimp.def: updated.
2005-01-23 Sven Neumann <sven@gimp.org>
* app/base/base-enums.h
* libgimpbase/gimpbaseenums.h: moved GimpInterpolationType and
GimpTransferMode to libgimpbase (from core and libgimp). The
remaining enums in app/base/base-enums.h need special treatment.
* app/base/base-enums.c
* libgimp/gimpenums.h
* libgimpbase/gimpbaseenums.[ch]
* tools/pdbgen/enums.pl: regenerated.
* libgimpbase/gimpbase.def
* libgimp/gimp.def: updated.
2004-12-31 Michael Natterer <mitch@gimp.org>
* app/core/gimppalette.[ch]: removed the just added
gimp_palette_insert_entry() and added a "gint position" parameter
to gimp_palette_add_entry() instead (no need to have two almost
identical functions).
* app/actions/palette-editor-commands.c
* app/core/gimppalette-import.c
* app/widgets/gimppaletteeditor.c
* tools/pdbgen/pdb/palette.pdb: changed accordingly.
* app/pdb/palette_cmds.c: regenerated.
2004-12-31 Sven Neumann <sven@gimp.org>
* tools/kernelgen.c: fixed rounding so that all brush kernels are
created with a constant sum of 256.
* app/paint/gimpbrushcore-kernels.h: regenerated.
* app/paint/gimpbrushcore.c (gimp_brush_core_subsample_mask): use
the constant defined un app/paint/gimpbrushcore-kernels.h. Should
give a tiny speedup.
2004-12-15 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/text_tool.pdb: let gimp_text() and
gimp_text_fontname() succeed but return -1 if no layer was created.
Fixes bug #161272.
* app/pdb/text_tool_cmds.c
* libgimp/gimptexttool_pdb.c: regenerated.
2004-12-14 Simon Budig <simon@gimp.org>
* app/vectors/gimpstroke.[ch]: Changed the "gradient" parameter
to "slope" to make it more clear what the returned result is (which
was wrong earlier).
* tools/pdbgen/pdb/paths.pdb: changed accordingly
* app/pdb/paths_cmds.c
* libgimp/gimppaths_pdb.[ch]
* devel-docs/libgimp/tmpl/gimppaths.sgml: regenerated.
Fixes bug #161274.
2004-12-14 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable.pdb: added gimp_drawable_sub_thumbnail()
to enable plug-ins avoiding #142074-alike bugs if they need to.
* app/pdb/drawable_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpdrawable_pdb.[ch]: regenerated.
* libgimp/gimpdrawable.[ch]
* libgimp/gimppixbuf.[ch]: wrap it with the same convenience
APIs as gimp_drawable_thumbnail().
* libgimp/gimp.def
* libgimp/gimpui.def: changed accordingly.
2004-12-12 Michael Natterer <mitch@gimp.org>
* app/paint-funcs/paint-funcs.[ch]: added new function
copy_region_nocow() as a workaround for the fact that sharing
tiles with the projection is heavily broken.
* app/base/tile-manager.c (tile_invalidate): added a warning when
entering the code path that breaks badly.
* app/core/gimp-edit.[ch]: added gimp_edit_copy_visible(), using
the non-COW copying function above.
* app/widgets/gimphelp-ids.h: added GIMP_HELP_COPY_VISIBLE.
* app/actions/edit-actions.c
* app/actions/edit-commands.[ch]: added action & callback for
"edit-copy-visible".
* menus/image-menu.xml.in: added "edit-copy-visible" to the image
menu.
* tools/pdbgen/pdb/edit.pdb: added gimp_edit_copy_visible()
PDB wrapper.
* app/pdb/edit_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpedit_pdb.[ch]: regenerated.
* plug-ins/script-fu/scripts/copy-visible.scm: removed all code
and made it a backward compat wrapper around gimp-edit-copy-visible.
Fixes bug #138662.
2004-12-11 Sven Neumann <sven@gimp.org>
* configure.in: set version to 2.2.0.
* tools/Makefile.am
* tools/authorsgen/Makefile.am
* tools/authorsgen/authorsgen.pl
* tools/authorsgen/contributors: removed authorsgen, a perl script
that used to be used to create AUTHORS and authors.h.
* Makefile.am
* authors.dtd
* authors.xml: added a simple XML file that lists authors and
contributors and a DTD to validate it.
* authors.xsl: a stylesheet to generate AUTHORS from authors.xml.
* app/dialogs/Makefile.am
* app/dialogs/authors.xsl: a stylesheet to generate authors.h from
authors.xml.
* app/dialogs/authors.h: regenerated.
* app/dialogs/about-dialog.c: added a const modifier.
2004-11-29 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/display.pdb: make it work as documented (fail
if the new_image already has a display). Also fail if the
old_image doesn't have any display (changed docs accordingly).
On success, take over the initial reference count of the new
image, just as the gimp_display_new() PDB wrapper does.
Fixes bug #159051.
* app/pdb/display_cmds.c
* libgimp/gimpdisplay_pdb.c: regenerated.
2004-11-27 Manish Singh <yosh@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb: escape utf8 as hex, to
avoid perl trying to be so smart that it's stupid.
* app/pdb/drawable_transform_cmds.c: regenerated.
2004-11-27 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/drawable.pdb: minor change to the PDB docs.
* libgimp/gimpdrawable_pdb.c
* tools/pdbgen/pdb/drawable.pdb: regenerated.
2004-11-21 Sven Neumann <sven@gimp.org>
* tools/gimp-remote.c: added --no-splash command-line option that
is passed to gimp. Addresses Debian bug report #277989.
* docs/gimp-remote.1.in: document the new option.
2004-11-19 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/lib.pl
* tools/pdbgen/stddefs.pdb: added support for deprecated procedures
without any replacement.
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): added
a special warning for procedures without replacement.
* tools/pdbgen/pdb/drawable.pdb: deprecated drawable_set_image()
without any replacement and made it a nop (which fails if the
passed image is different from the drawable's image). It's not
needed any longer since 2.0 and moreover dangerous to use.
* app/pdb/drawable_cmds.c
* libgimp/gimpdrawable_pdb.[ch]: regenerated.
* app/core/gimpitem.c (gimp_item_set_image): replaced assertion
for gimp_item_is_floating() by !gimp_item_is_attached(). The
former warned when adding a layer with already added mask to the
image (which is a perfectly valid operation).
2004-11-18 Michael Natterer <mitch@gimp.org>
The following fixes have no visible effect because nobody
uses gimp_plugin_menu_register() on temp_procs yet:
* app/actions/plug-in-actions.[ch]: added
plug_in_actions_add_path() which just adds the actions needed for
a given menu math, but not the procedure action itself.
* app/gui/gui-vtable.c (gui_menus_create_entry): create the
menu_path's actions using above function so adding of submenus to
existing ui managers works.
* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register_invoker):
don't add a menu if "no_interface" is TRUE.
* app/pdb/plug_in_cmds.c: regenerated.
* plug-ins/script-fu/script-fu-scripts.c: pass untranslated
menu_paths to the core, not translated ones. Don't store the
scripts directly in the "script_list" tree but use a list of
scripts per key because there can be identical keys for different
scripts now. Fixed sorting of menu entries and menus.
2004-11-17 Michael Natterer <mitch@gimp.org>
Made plug-in menu registration work the same way for ordinary and
temporary procedures. Addresses bug #158117.
* app/core/gimp-gui.[ch]: added "const gchar *menu_path" to
gimp_menus_create_entry().
* app/gui/gui-vtable.c (gui_menus_create_entry): if menu_path is
NULL, behave as before and create an action and its menu entries
for all the procedure's menu_paths. If it is non-NULL, skip action
creation and create a menu entry just for that path.
* app/plug-in/plug-ins.c (plug_ins_temp_proc_def_add): call
gimp_menus_create_entry() with a NULL menu path and call it if
proc_def->menu_paths *or* proc_def->menu_label is non-NULL, so
it creates at least the procedure's action, even if it has
no menu_path (yet).
* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register): check both
the list of procs and temp_procs when trying to register the
entry. Allow ordinary procedures and extensions to install stuff
at query() and init() time and allow temp_procs to install stuff
at any time.
* app/pdb/plug_in_cmds.c: regenerated.
2004-11-16 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb: renamed the new
drawable_foo_defaults() functions to drawable_foo_default() to be
consistent with paintbrush_default() and friends.
* tools/pdbgen/pdb/transform_tools.pdb
* libgimp/gimp.def: changed accordingly.
* app/pdb/drawable_transform_cmds.c
* app/pdb/transform_tools_cmds.c
* libgimp/gimpdrawabletransform_pdb.[ch]
* libgimp/gimptransformtools_pdb.c: regenerated.
* plug-ins/script-fu/scripts/coolmetal-logo.scm
* plug-ins/script-fu/scripts/image-structure.scm
* plug-ins/script-fu/scripts/text-circle.scm: follow the API change.
2004-11-16 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/selection.pdb: entirely removed the deprecated
functions "selection_clear", "image_set_cmap" and "image_get_cmap".
* app/pdb/procedural_db.c: and added them to the compat hash table
because they have undeprecated replacements with identical
signature.
* libgimp/gimpselection.[ch]: added gimp_selection_clear() here
instead because we need the symbol in libgimp.
* app/pdb/image_cmds.c
* app/pdb/internal_procs.c
* app/pdb/selection_cmds.c
* libgimp/gimpselection_pdb.[ch]: regenerated.
2004-11-13 Manish Singh <yosh@gimp.org>
* tools/pdbgen/pdb/image.pdb: Adapted Sven's code into pdbgen so
that gimp_image_set_filename() validates that it is called with
a filename in the filesystem encoding which can safely be converted
to UTF-8 and back. Fixes#153751.
* app/pdb/image_cmds.c
* libgimp/gimpimage_pdb.c: Regenerated.
2004-11-13 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/image.pdb: document the fact that
gimp_image_get_filename() returns the filename in the filesystem
encoding. Fixed gimp_image_get_name() to actually return the name
in UTF-8 encoding.
* app/pdb/image_cmds.c
* libgimp/gimpimage_pdb.c
* app/vectors/gimpbezierstroke.h: formatting.
2004-11-13 Sven Neumann <sven@gimp.org>
* app/core/gimpimagefile.[ch]
* app/file/file-open.c
* app/file/file-save.c: pass the MIME type from the save procedure
to gimp_imagefile_save_thumbnail() so that it can be stored with
the thumbnail.
* tools/pdbgen/pdb/fileops.pdb
* app/pdb/fileops_cmds.c: changed accordingly.
2004-11-13 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in-proc-def.[ch]
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-ins.[ch]: allow to associate a procedure for
thumbnail loading with any file load procedure.
* tools/pdbgen/pdb/fileops.pdb: export this functionality to the
PDB as gimp_register_thumbnail_loader().
* app/pdb/fileops_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpfileops_pdb.[ch]: regenerated.
* app/core/gimpimagefile.c
* app/file/file-open.[ch]: when creating a thumbnail for an image
file, use a thumbnail load procedure if available.
* plug-ins/common/svg.c: added "file_svg_load_thumb", a procedure
that allows to load a small preview of the SVG image.
2004-11-11 Michael Natterer <mitch@gimp.org>
* app/core/gimp-edit.c
* app/core/gimpdrawable-blend.c
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpitem.c (gimp_item_stroke): added precondition
checks for gimp_item_is_attached() and removed checks for
gimp_item_get_image() to actually return an image (because it
always returns an image).
* tools/pdbgen/pdb/edit.pdb: let all wrappers fail if the drawable
is not attached.
* app/pdb/edit_cmds.c: regenerated.
2004-11-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb: factored out the
"invoke" bodies to two utility functions, getting rid of *tons* of
duplicated code.
* app/pdb/drawable_transform_cmds.c: regenerated (only whitespace
and comments changed).
2004-11-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb: added _defaults()
variants (flip_defaults, rotate_defaults, ...) for all transform
functions which finally call gimp_drawable_transform_affine().
The _defaults() functions don't take the whole interpolation_type,
supersample etc. parameter overkill, but only a "interpolation"
boolean like the old PDB wrappers.
* libgimp/gimp.def: changed accordingly.
* app/pdb/drawable_transform_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-11-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb: renamed flip() and
rotate() to flip_simple() and rotate_simple(). Renamed flip_free()
and rotate_free() to flip() and rotate() (the special cases should
have a special suffix, not the general ones).
* libgimp/gimp.def: changed accordingly.
* app/pdb/drawable_transform_cmds.c
* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-11-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb (flip): renamed
parameter "center" to "auto_center" and removed
"transform_direction". Renamed rotate() to rotate_free() and
added a "gboolean auto_center" parameter. Added new function
rotate() which takes enum GimpRotationType instead of an
arbiatrary angle so the flip and rotate APIs are symmetric.
* libgimp/gimp.def: added the gimp_drawable_transform_* stuff.
* app/pdb/drawable_transform_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-11-01 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_add_filters):
don't check for file_proc->menu_paths. Our load and save procedure
don't necessarily register a menu path any longer.
* app/plug-in/plug-ins.c: minor cleanup.
* app/xcf/xcf.c (xcf_init): no need for adding menu paths for the
XCF load and save procedures.
* tools/pdbgen/pdb/fileops.pdb: fixed outdated documentation.
* app/pdb/fileops_cmds.c
* libgimp/gimpfileops_pdb.c: regenerated.
2004-11-01 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb: added "clip_result" to
the transform_options_args() utility function and changed all
wrappers accordingly. Removed "interpolation", "supersample" and
"recursion_level" args from drawable_transform_flip().
* app/pdb/drawable_transform_cmds.c
* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-10-29 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/edit.pdb: mention gimp_drawable_fill() in the
docs for gimp_edit_fill().
* app/pdb/edit_cmds.c
* libgimp/gimpedit_pdb.c: regenerated.
2004-10-27 Sven Neumann <sven@gimp.org>
* tools/pdbgen/enumcode.pl: fixed loop control in
_gimp_enums_init(). This caused all plug-ins to crash immidiately.
You will need to make sure that libgimp/gimpenums.c.tail is
recreated and appended to libgimp/gimpenums.c
2004-10-27 Michael Natterer <mitch@gimp.org>
* app/core/gimp-transform-utils.[ch]. switch from x1,y1,x2,y2
bounding boxes to x,y,width,height ones. Added
gimp_transform_matrix_flip_free(). Renamed some parameters to be
consistent with others. Some internal cleanup.
* app/tools/gimpperspectivetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c
* tools/pdbgen/pdb/drawable_transform.pdb
* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.
* tools/pdbgen/pdb/drawable_transform.pdb
* tools/pdbgen/pdb/transform_tools.pdb: guard all transform
wrappers with if(gimp_drawable_mask_intersect(...)), also the
ones which don't need the returned bounding box.
* tools/pdbgen/pdb/drawable_transform.pdb: renamed some parameters
and added gimp_drawable_transform_matrix() which takes the 9
coefficients of a 3x3 matrix for ultimate flexibility ;)
* app/pdb/drawable_transform_cmds.c
* app/pdb/internal_procs.c
* app/pdb/transform_tools_cmds.c
* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-10-26 Manish Singh <yosh@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb: removed abuse of init,
called pdb_misc in all procedures.
* app/pdb/transform_tools_cmds.c
* libgimp/gimpdrawabletransform_pdb.c: regenerated.
2004-10-26 Sven Neumann <sven@gimp.org>
Added new drawable transform API to the PDB. Largely based on
patches from Joao S. O. Bueno. Fixes bug #137053.
* app/core/gimpdrawable-transform.[ch]: added missing parameters
to gimp_drawable_transform_flip().
* tools/pdbgen/pdb/transform_tools.pdb: changed accordinly.
* app/base/base-enums.h
* app/core/core-enums.h: removed pdp-skip for GimpInterpolationType
and GimpTransformDirection enums.
* libgimp/gimpenums.h
* plug-ins/pygimp/gimpenums.py
* tools/pdbgen/enums.pl
* tools/pdbgen/groups.pl: regenerated.
* tools/pdbgen/Makefile.am
* tools/pdbgen/pdb/drawable_transform.pdb: added new file defining
the new PDB calls.
* app/pdb/Makefile.am
* app/pdb/drawable_transform_cmds.c
* app/pdb/internal_procs.c
* app/pdb/transform_tools_cmds.c
* libgimp/gimp_pdb.h
* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-10-25 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbaseenums.[ch]: register some missing enums.
* tools/pdbgen/enumcode.pl: removed code to generate
plug-ins/script-fu/script-fu-constants.c, generate code to
explicitely initialize and query all of libgimp*'s enums
and write it to libgimp/gimpenums.c.tail
* libgimp/gimpenums.h: regenerated.
* libgimp/Makefile.am: append gimpenums.c.tail to gimpenums.c
* libgimp/gimp.c (gimp_main): call g_type_init() and
_gimp_enums_init().
* libgimp/gimp.def: added gimp_enums_get_type_names().
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/script-fu-constants.[ch]: removed these files.
* plug-ins/script-fu/siod-wrapper.c: dynamically register all
constants using gimp_enums_get_type_names() and introspection.
Also register the built-in unit types.
* plug-ins/script-fu/script-fu.c: changed accordingly.
2004-10-25 Michael Natterer <mitch@gimp.org>
Don't store human readable and translatable enum/flag strings in
GEnumValue's and GTypeValue's fields but attach them to their
GType using separate structs and utility functions:
* tools/gimp-mkenums: added params and perl voodoo to support
generating a second array of values, which is used by the
Makefiles below to create and register arrays of value
descriptions.
* libgimpbase/gimpbasetypes.[ch]: added API to attach/retreive
arrays of translatable strings to/from enum and flags types. Added
structs GimpEnumDesc and GimpFlagsDesc for that purpose.
* libgimpbase/gimputils.[ch]: changed existing enum utility
functions, added new ones and added a symmetric API for flags.
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/paint/Makefile.am
* app/text/Makefile.am
* app/tools/Makefile.am
* app/widgets/Makefile.am
* libgimp/Makefile.am
* libgimpbase/Makefile.am: changed *-enums.c generation rules
accordingly.
* app/base/base-enums.c
* app/core/core-enums.c
* app/display/display-enums.c
* app/paint/paint-enums.c
* app/text/text-enums.c
* app/tools/tools-enums.c
* app/widgets/widgets-enums.c
* libgimpbase/gimpbaseenums.c: regenerated.
* app/widgets/gimpenumstore.c
* app/widgets/gimpenumwidgets.c
* app/widgets/gimptemplateeditor.c
* libgimpwidgets/gimppreviewarea.c: follow the enum utility
function API changes.
2004-10-25 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/enumcode.pl
* libgimp/Makefile.am: register all enums in libgimp/gimenums.h
with the type system.
* libgimp/gimpenums.h: regenerated.
2004-10-25 Sven Neumann <sven@gimp.org>
* configure.in
* app/Makefile.am
* tools/Makefile.am: bumped version to 2.2.0-pre1, set app version
to 2.2, reset other versions to 2.0. Changed library versioning so
we install with the same soname as gimp-2.0 again.
2004-10-22 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]: added new enum GimpStrokeMethod which
can be one of { LIBART, PAINT_CORE }.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpstrokedesc.[ch]: new object which encapsulates
the params and setup logic for the different stroke methods.
* app/core/gimpitem.[ch]: use it in GimpItem::stroke() and
in the gimp_item_stroke() wrapper.
* app/core/gimpchannel.c (gimp_channel_stroke)
* app/core/gimpselection.c (gimp_selection_stroke)
* app/vectors/gimpvectors.c (gimp_vectors_stroke): changed accprdingly.
* app/actions/select-commands.c
* app/actions/vectors-commands.c
* app/dialogs/stroke-dialog.c
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb: use GimpStrokeDesc. Simplifies the
code quite a bit.
* app/pdb/edit_cmds.c
* app/pdb/paths_cmds.c: regenerated.
2004-10-20 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.[ch]: added gimp_drawable_mask_intersect()
which returns the same bounding box as gimp_drawable_mask_bounds(),
but returns TRUE only if there is a non-empty intersection between
the drawable and the selection, or no selection at all. It also
returns the intersection as x,y,width,height instead of the
eeky x1,y1,x2,y2.
* app/core/gimp-edit.c
* app/core/gimpdrawable-blend.c
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpdrawable-desaturate.c
* app/core/gimpdrawable-equalize.c
* app/core/gimpdrawable-histogram.c
* app/core/gimpdrawable-invert.c
* app/core/gimpdrawable-stroke.c
* app/core/gimpimagemap.c
* app/core/gimpselection.c
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/transform_tools.pdb: either switch from
gimp_drawable_mask_bounds() to _intersect() or check the return
values of _mask_bounds() manually to avoid operations on empty
areas. Return successfully because it's a nop, not a failure.
Fixes bug #155733 for the core.
* app/pdb/color_cmds.c
* app/pdb/transform_tools_cmds.c: regenerated.
2004-10-14 Sven Neumann <sven@gimp.org>
* app/core/gimpprogress.[ch]: added "message" function to the
GimpProgress interface. Call gimp_message() if it is unimplemented.
* app/plug-in/plug-in-progress.[ch]: added new function
plug_in_progress_message() that passes the message to the current
proc_frame's progress.
* app/widgets/gimpthumbbox.c: implement GimpProgress::message.
Just do nothing in the implementation. We don't want to see
messages from file plug-ins that we use to create the thumbnails.
* tools/pdbgen/pdb/message.pdb
* app/pdb/message_cmds.c: if there's a current plug-in, dispatch
the message by calling plug_in_progress_message().
* app/display/gimpdisplayshell-close.c: fixed wrong types in
function calls.
2004-10-14 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]: register GimpConvertPaletteType with
the type system.
* tools/pdbgen/enums.pl: regenerated.
* app/widgets/gimpwidgets-utils.c (gimp_enum_radio_frame_add):
fixed to insert the widget at the right place in the radio box.
* app/dialogs/convert-dialog.c: use enum widgets and
gimp_enum_radio_frame_add(), resulting in a much better looking
dialog with much less lines of code.
2004-10-14 Michael Natterer <mitch@gimp.org>
* tools/authorsgen/contributors: correct UTF-8 spelling of
João S. O. Bueno Calligaris.
* AUTHORS
* app/dialogs/authors.h: regenerated.
2004-10-13 Manish Singh <yosh@gimp.org>
* tools/pdbgen/Makefile.am: Remove stamp files during
maintainer-clean. Addresses bug #155357. Also flesh out the
dependencies some so rebuilds get triggered when all their
dependent files change.
2004-10-11 Michael Natterer <mitch@gimp.org>
* tools/authorsgen/contributors: added missing contributors.
Thanks to Kevin Cozens for going through ChangeLog and making a list.
* AUTHORS
* app/dialogs/authors.h: regenerated.
2004-10-06 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/lib.pl: for deprecated procedures, create a gtk-doc
comment that contains a link to the replacement procedure and
doesn't contain redundant information.
* tools/pdbgen/pdb/text_tool.pdb: fixed names of replacement
procedures.
* libgimp/gimpbrushes.c
* libgimp/gimpgradients.c
* libgimp/gimppalettes.c
* libgimp/gimppatterns.c: made the handwritten gtk-doc comments of
deprecated procedures look like the generated ones.
* app/pdb/text_tool_cmds.c
* libgimp/gimpbrushes_pdb.c
* libgimp/gimpgradients_pdb.c
* libgimp/gimppalettes_pdb.c
* libgimp/gimppatterns_pdb.c
* libgimp/gimptexttool_pdb.c: regenerated.
2004-10-06 Michael Natterer <mitch@gimp.org>
* app/pdb/procedural_db.h (struct ProcRecord): changed new member
"deprecated" from "gboolean" to a "gchar*" which holds the name of
the replacement procedure.
* tools/pdbgen/app.pl: changed accordingly.
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): show
the name of the replacement procedure in the warning message.
* tools/pdbgen/stddefs.pdb: added utility function
std_pdb_deprecated() which takes the name of the replacement
procedure and fills the blurb, help, author, copyright, date and
deprecated fields of the procedure definition.
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/patterns.pdb
* tools/pdbgen/pdb/text_tool.pdb: use it instead of duplicating
the same code and strings for all deprecated procedures.
* app/pdb/*_cmds.c: regenerated.
2004-10-06 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/brush.pdb: return the mask's bpp and the
brush's pixmap data if it has one.
* tools/pdbgen/pdb/pattern.pdb: cleaned up.
* tools/pdbgen/pdb/image.pdb: added $deprecated = 1 to deprecated
functions even if they are not exported to libgimp any more.
* app/pdb/procedural_db.h (struct ProcRecord): added member
"gboolean deprecated".
* tools/pdbgen/app.pl
* app/xcf/xcf.c: fill it accordingly.
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): warn
not only for deprecated procedured which are in the compat hach
table, but also for procedures with deprecated flag set to TRUE.
* app/pdb/*_cmds.c
* libgimp/gimpbrush_pdb.[ch]
* libgimp/gimppattern_pdb.[ch]: regenerated.
* libgimp/gimpbrushmenu.c
* plug-ins/gfig/gfig-style.c: changed accordingly.
2004-10-04 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/gimprc.pdb (gimprc_query, gimprc_set): disallow
the empty string as token. Spotted by Kevin Cozens.
* app/pdb/gimprc_cmds.c: regenerated.
2004-10-04 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/brush.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/palette.pdb: disallow the empty string for
new brushes, gradients and palettes and check the return value
of gimp_data_factory_data_new(). Cleanup.
* app/core/gimpbrushgenerated.c (gimp_brush_generated_new)
* app/core/gimpgradient.c (gimp_gradient_new)
* app/core/gimpdatafactory.c (gimp_data_factory_data_new): same
here. Fixes bug #154264.
* app/core/gimpdata.[ch] (gimp_data_set_filename): added boolean
"deletable" parameter because it's not derivable from "writable".
* app/core/gimpdatafactory.c (gimp_data_factory_load_data): need
to figure "deletable" separately from "writable" to be able to
delete unsavable stuff in the user-writable data directories.
Fixes bug #154410.
(gimp_data_factory_data_save_single): cleaned up.
* app/pdb/brush_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/palette_cmds.c
* libgimp/gimpbrush_pdb.c
* libgimp/gimpgradient_pdb.c
* libgimp/gimppalette_pdb.c: regenerated.
2004-09-30 Michael Natterer <mitch@gimp.org>
Cleaned up the DB Browser and Plugin Details code and GUI. It's
not perfect yet but at least they don't look like crap any more.
Fixes bug #131490.
* plug-ins/common/plugin-defs.pl
* plug-ins/common/plugindetails.c: removed this plugin.
* plug-ins/common/.cvsignore
* plug-ins/common/Makefile.am: regenerated.
* plug-ins/dbbrowser/Makefile.am
* plug-ins/dbbrowser/dbbrowser.c
* plug-ins/dbbrowser/dbbrowser_utils.[ch]: removed these files.
* plug-ins/dbbrowser/gimpprocbrowser.[ch]
* plug-ins/dbbrowser/gimpprocview.[ch]: new cleaned up files.
* plug-ins/dbbrowser/plugin-browser.c: the former plugindetails.
* plug-ins/dbbrowser/procedure-browser.c: the former dbbrowser.
* plug-ins/script-fu/Makefile.am: link against the new library
libgimpprocbrowser.a
* plug-ins/script-fu/script-fu-console.c: changed #includes
accordingly. Monir cleanup.
* tools/pdbgen/pdb/plug_in.pdb (plugins_query): fixed menu_path
return value. Was broken since the plug-in menu registering
changes.
* app/pdb/plug_in_cmds.c: regenerated.
2004-09-27 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/fileops.pdb (file_load_thumbnail_invoker): use
the GIMP_CHECK_SIZE_SM define, not the enum value
GIMP_CHECK_SIZE_SMALL_CHECKS which is 0 (eeek!).
* app/pdb/fileops_cmds.c: regenerated.
* app/widgets/gimphelp.c (gimp_help_get_locales): minor cleanup.
2004-09-24 Sven Neumann <sven@gimp.org>
* app/base/curves.[ch]
* app/tools/gimpcurvestool.c: defined CURVES_NUM_POINTS and use it.
* tools/pdbgen/pdb/color.pdb (curves_spline_invoker): unset the
last control point which got initialized to (255,255) by
curves_init(). Fixes bug #153635.
* app/pdb/color_cmds.c: regenerated.
2004-09-23 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/patterns.pdb: removed the foos_set_foo()
procedures and marked the foos_set_foo() ones as deprecated. For
brushes, patterns and palettes, added foos_get_foo_info()
procedures which work like foos_get_foo_data() but return just the
properties, not the actual data. Allow NULL or "" to be passed
as name to all functions (use the current brush, pattern etc.
in this case).
* tools/pdbgen/pdb/fonts.pdb: cleanup.
* app/pdb/procedural_db.c: added the removed ones to the compat
hash table.
* libgimp/Makefile.am
* libgimp/gimpbrushes.[ch]
* libgimp/gimpgradients.[ch]
* libgimp/gimppalettes.[ch]
* libgimp/gimppatterns.[ch]: new files with compat functions
wich call the resp. gimp_context_*() functions.
* libgimp/gimp.h: changed accordingly.
* app/pdb/brushes_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/internal_procs.c
* app/pdb/palettes_cmds.c
* app/pdb/patterns_cmds.c
* libgimp/gimpbrushes_pdb.[ch]
* libgimp/gimpgradients_pdb.[ch]
* libgimp/gimppalettes_pdb.[ch]
* libgimp/gimppatterns_pdb.[ch]: regenerated.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/gfig/gfig-dialog.c
* plug-ins/gfig/gfig-style.[ch]
* plug-ins/gflare/gflare.c: changed accordingly.
2004-09-23 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/context.pdb: oops, should probably pop, not
push a context in gimp_context_pop().
* app/pdb/context_cmds.c: regenerated.
* plug-ins/script-fu/scripts/mkbrush.scm: don't fiddle with the
brush description, simply use the name choosen by the user.
2004-09-22 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc-frame.[ch] (plug_in_proc_frame_init):
removed assertion about proc_rec != NULL because that happens
when query()ing and init()int plug-ins.
Replaced "context" by "main_context" plus "context_stack".
* app/plug-in/plug-in-context.c: implement plug_in_context_push()
and plug_in_context_pop().
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c: changed accordingly.
* tools/pdbgen/pdb/context.pdb: use the return values of
plug_in_context_push() and _pop().
* app/pdb/context_cmds.c: regenerated.
* plug-ins/script-fu/scripts/test-sphere.scm: use
gimp-context-push and gimp-context-pop instead of remembering the
old values for FG, BG etc.
2004-09-22 Sven Neumann <sven@gimp.org>
* tools/pdbgen/Makefile.am
* tools/pdbgen/pdb/context.pdb: new files that will hold context
related PDB functions.
* tools/pdbgen/groups.pl
* app/pdb/Makefile.am
* app/pdb/context_cmds.c
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimp_pdb.h
* libgimp/gimpcontext_pdb.[ch]: (re)generated.
* app/plug-in/Makefile.am
* app/plug-in/plug-in-context.[ch]: new files that will hold code
that implements a context stack in the plug-in's proc-frame.
* app/plug-in/plug-in.[ch]: new function plug_in_get_proc_frame().
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c: use the new function instead of
duplicating it all over the place.
2004-09-05 Simon Budig <simon@gimp.org>
* app/core/gimpimage-resize.[ch]: Implement function to resize
the image to contain all layers completely. Untabified.
* app/actions/image-actions.c
* app/actions/image-commands.[ch]
* app/widgets/gimphelp-ids.h
* menus/image-menu.xml.in: Make it available in the GUI.
* tools/pdbgen/pdb/image.pdb: Make it available in the PDB.
* app/pdb/image_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpimage_pdb.[ch]: regenerated.
2004-08-31 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-transform.[ch]: added GimpProgress
parameter to gimp_drawable_transform_affine().
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/transform_tools.pdb: show progress for "blend"
and all transform functions.
* app/pdb/edit_cmds.c
* app/pdb/transform_tools_cmds.c: regenerated.
2004-08-31 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintoptions.[ch]: added "GimpPaintInfo *paint_info"
member and construct property. Changed gimp_paint_options_new()
to take only a GimpPaintInfo parameter.
* app/core/gimpitem.c (gimp_item_stroke)
* app/core/gimppaintinfo.c (gimp_paint_info_new): changed accordingly.
* app/core/gimpchannel.c (gimp_channel_stroke)
* app/vectors/gimpvectors.c (gimp_vectors_stroke): use
paint_options->paint_info->paint_type directly instead of casting
to GimpToolOptions and using
tool_options->tool_info->paint_info->paint_type (eek). Fixes crash
when stroking via the PDB because newly created GimpToolOptions
instances have no "tool_info" pointer yet.
* tools/pdbgen/pdb/paint_tools.pdb: changed all paint PDB wrappers
accordingly.
* app/pdb/paint_tools_cmds.c: regenerated.
2004-08-30 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-progress.[ch]: added boolean return values
to plug_in_progress_install(), uninstall() and cancel(). Added
checks to make sure the installed progress_callback exists, has
the correct signature and was installed by this plug-in.
* tools/pdbgen/pdb/progress.pdb: use the return values to let the
PDB wrappers succeed/fail.
* app/pdb/progress_cmds.c: regenerated.
2004-08-30 Michael Natterer <mitch@gimp.org>
Brought the PDB progress into a working state. Fixes bug #6010,
addressed bugs #97266 and #135185 and unfortunately reopens bug
#150194 (will fix that later).
* libgimpbase/gimpbaseenums.h: added enum GimpProgressCommand.
* app/core/gimppdbprogress.c
* libgimp/gimpprogress.c: use the enum instead of integer
constants for the different progress commands. Cleanup.
* app/plug-in/plug-in-progress.c
* app/plug-in/plug-in-run.c
* app/plug-in/plug-in.c: switch bach to real refcouting for
plug_in->progress (reopens bug #150194) and enabled the PDB
progress code.
* plug-ins/script-fu/script-fu-scripts.c: cleaned up the
progress stuff and the script-fu interface a bit.
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
2004-08-29 Michael Natterer <mitch@gimp.org>
Added an API to allow plug-ins to embed the progress for the
actions they trigger into their own GUI (attention: half-done and
broken code ahead...)
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimppdbprogress.[ch]: new object implementing dispatching
progress calls to a temporary PDB procedure in a plug-in.
* app/Makefile.am: force to link gimppdbprogress.o, bah!
* app/plug-in/plug-in-progress.[ch]: added API to install,
uninstall and cancel a PDB progress for this plug-in, but disabled
the implementation because it doesn't work yet.
* tools/pdbgen/pdb/progress.pdb: added pdb wrappers for the new
install, uninstall and cancel functions.
* libgimp/Makefile.am
* libgimp/gimp.h
* libgimp/gimpprogress.[ch]: added an API around the PDB progress
stuff.
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* plug-ins/script-fu/script-fu-scripts.c: use the new API to show
the progress in the script-fu dialog.
2004-08-27 Michael Natterer <mitch@gimp.org>
Moved the gimp_progress_init() and gimp_progress_update() PDB
functions to their own group because they don't belong to the
"Plug-In" namespace and will soon get more functions.
* tools/pdbgen/pdb/plug_in.pdb: removed the progress stuff...
* tools/pdbgen/pdb/progress.pdb: ...and added it here.
* tools/pdbgen/Makefile.am
* tools/pdbgen/groups.pl
* app/pdb/Makefile.am
* libgimp/Makefile.am: changed accordingly.
* libgimp/gimpprogress_pdb.[ch]: new generated files.
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimp_pdb.h
* libgimp/gimpplugin_pdb.[ch]: regenerated.