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-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-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-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-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-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-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-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>
* tools/pdbgen/enumcode.pl
* libgimp/Makefile.am: register all enums in libgimp/gimenums.h
with the type system.
* libgimp/gimpenums.h: regenerated.
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-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-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.
2004-08-10 Michael Natterer <mitch@gimp.org>
Redid the whole internal progress stuff: don't pass around
progress_callback and progress_data; instead, provide a
pointer to a GimpProgressInterface which can be implemented
by a variety of backends.
Addresses (but not yet fixes) bugs #6010, #97266 and #135185.
* app/display/Makefile.am
* app/display/gimpprogress.[ch]: removed the old progress hack.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpprogress.[ch]: implement GimpProgressInterface.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpprogressdialog.[ch]: the standalone progress
dialog as widget implementing GimpProgressInterface.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.[ch]
* app/widgets/gimpfiledialog.[ch]
* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
implementation to these classes.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: replaced the old progress vtable entries
by two new to create and destroy a GimpProgressDialog in case
no other progress is available.
* app/pdb/procedural_db.[ch]
* app/plug-in/plug-in-run.[ch]
* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
all plug-ins.
* app/plug-in/plug-in.[ch]
* app/plug-in/plug-ins.c
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c: handle the case there the
plug-in was crated with a progress as well as the case where it
wasn't.
* app/app_procs.c
* app/batch.c
* app/xcf/xcf.c
* app/file/file-open.[ch]
* app/file/file-save.[ch]
* app/widgets/gimphelp.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c: changed accordingly.
* app/core/gimpimagefile.[ch]
* app/display/gimpdisplayshell-dnd.c
* app/gui/file-open-dialog.c
* app/gui/file-open-location-dialog.c
* app/gui/file-save-dialog.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
related functions. Embed the progress in the file dialog where
possible.
* app/core/gimpdrawable-blend.[ch]
* app/core/gimpdrawable-transform.[ch]
* app/core/gimpimage-convert.[ch]
* app/core/gimpimage-flip.[ch]
* app/core/gimpimage-resize.[ch]
* app/core/gimpimage-rotate.[ch]
* app/core/gimpimage-scale.[ch]
* app/core/gimpitem-linked.[ch]
* app/core/gimpitem.[ch]
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimplayer.c
* app/core/gimpselection.c
* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.
* app/tools/gimpblendtool.c
* app/tools/gimptransformtool.c
* app/gui/convert-dialog.c
* app/actions/documents-commands.c
* app/actions/file-commands.c
* app/actions/image-commands.c
* app/actions/layers-commands.c
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.
* app/pdb/*_cmds.c: regenerated.
2004-08-09 Michael Natterer <mitch@gimp.org>
Applied (slightly modified) patch from Shlomi Fish which adds a
progress bar to the RGB -> INDEXED conversion. Fixes bug #145274
(and shows that we really really need a GimpProgressInterface in
the core to give progress users full access to the progress API)
* app/core/gimpimage-convert.[ch]: added special
GimpImageConvertProgress function typedef to cope with the
different stages of converting. Support passing such a callback &
data to gimp_image_convert() and update the progress accordingly.
* app/gui/convert-dialog.[ch]: added a convert progress callback
and pass it to gimp_image_convert().
* app/actions/image-commands.c
* tools/pdbgen/pdb/convert.pdb: changed accordingly.
* app/pdb/convert_cmds.c: regenerated.
2004-07-29 Sven Neumann <sven@gimp.org>
* app/core/core-enums.h: removed enums GimpImageType and
GimpImageBaseType ...
* libgimpbase/gimpbaseenums.h: ... and added them here. Also moved
all enums from gimpbasetypes.h to this new file.
* libgimpbase/Makefile.am
* tools/pdbgen/Makefile.am: changed accordingly.
* app/core/core-enums.c
* libgimp/gimpenums.h
* libgimpbase/gimpbaseenums.c
* tools/pdbgen/enums.pl: regenerated.
* libgimpbase/gimpparasite.c
* libgimpbase/gimpprotocol.c
* libgimp/gimp.c: include <glib-object.h>
* libgimpbase/gimpbasetypes.[ch]: added API to set and get a
translation domain on a GType. This is used for translatable enum
values.
* libgimpbase/gimputils.[ch]: added API to retrieve the translated
name for an enum value.
* app/widgets/gimpenumstore.c
* app/widgets/gimpenumwidgets.c: use the new API in libgimpbase.
2004-07-16 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb.pl: include "libgimpbase/gimpbase.h" instead of
"libgimpbase/gimpparasite.h" for getting the GimpParasite type.
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/guides.pdb
* tools/pdbgen/pdb/image.pdb: removed redundant #includes.
* tools/pdbgen/pdb/plug_in.pdb: standardized "success" logic.
Consistetly fail if there is no currently queried plugin.
* app/pdb/*.c: regenerated.
2004-07-10 Michael Natterer <mitch@gimp.org>
Removed any remaining GUI dependency from the PDB wrappers:
* app/core/gimp.[ch]: added vtable entries for the display and
help stuff.
* app/widgets/gimphelp.[ch]: renamed gimp_help() to
gimp_help_show().
* app/gui/gui-vtable.c: implement the new display and help vtable
entries.
* tools/pdbgen/pdb.pl
* tools/pdbgen/pdb/display.pdb
* tools/pdbgen/pdb/help.pdb: use the new functions of the Gimp
object instead of using stuff from display/ and widgets/.
* tools/pdbgen/app.pl: removed bad hacks which enabled including
stuff from gui/, display/ and widgets/.
* app/Makefile.am: link widgets-enums.o, display-enums.o and
gimpdisplayoptions.o into the gimp-console binary because they are
needed for the config system and don't depend on any GUI stuff.
* app/pdb/Makefile.am: s/GTK_CFLAGS/GDK_PIXBUF_CFLAGS/
* app/pdb/display_cmds.c
* app/pdb/help_cmds.c: regenerated.
2004-07-05 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/Makefile.am (enum_headers): don't scan
app/paint-funcs/paint-funcs-types.h for enums.
* app/paint-funcs/paint-funcs-types.h: removed /*< pdb-skip >*/
* app/core/core-types.h: reordered opaque typedefs to somehow
match the categories in the comments.
2004-07-04 Simon Budig <simon@gimp.org>
* app/actions/dialogs-commands.c
* app/display/gimpdisplayshell-dnd.c
* app/gui/preferences-dialog.c
* app/tools/gimppainttool.c
* app/widgets/gimpdeviceinfo.c
* app/widgets/gimpitemtreeview.c
* plug-ins/imagemap/imap_selection.c
* tools/pdbgen/pdb/gradients.pdb: Small changes to make GIMP
CVS compile with gcc 2.95 again. Mostly double semicolons and
variable declarations after other stuff. Spotted by Martin
Renold.
* app/pdb/gradients_cmds.c: regenerated.
(there is one issue left, see his patch at
http://old.homeip.net/martin/gcc-2.95.diff, I did not
copy the #define va_copy __va_copy, since I don't know
what happens here.)
2004-06-30 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/drawable.pdb
* libgimp/gimppixbuf.c: raised the maximum size for thumbnails
from 256 to 512 pixels.
* app/pdb/drawable_cmds.c
* libgimp/gimpdrawable_pdb.c: regenerated.
* plug-ins/gfig/gfig-preview.c
* plug-ins/gfig/gfig.c: redone Bill's fix using
gimp_image_get_thumbnail(). A lot simpler, renders the alpha
checkerboard and also works for grayscale images.
2004-06-30 Simon Budig <simon@gimp.org>
* app/vectors/gimpstroke.[ch]
* tools/pdbgen/pdb/paths.pdb: Applied a modified patch from
Geert Jordaens that implements the gimp-path-get-point-at-dist
PDB function (fixes bug #138754).
* app/pdb/paths_cmds.c: regenerated
2004-06-29 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c: reordered drop destinations
so vectors are preferred over SVG.
* app/vectors/gimpvectors-import.[ch]: added "gint position"
parameter to all import functions so the imported vectors can be
added at any position in the vectors stack.
* app/actions/vectors-commands.c
* app/display/gimpdisplayshell-dnd.c
* tools/pdbgen/pdb/paths.pdb: changed accordingly (pass -1 as
position).
* app/pdb/paths_cmds.c: regenerated.
* app/widgets/gimpvectorstreeview.c: implemented SVG DND from and
to the paths dialog.
2004-06-28 Michael Natterer <mitch@gimp.org>
Fixed bug #141930 while keeping bug #132322 fixed:
* app/base/curves.c (curves_lut_func)
* app/base/levels.c (levels_lut_func): changed meaning of channel
slots for GRAYA images: just as for GRAY images, expect the value
channel in slot 0 and the alpha channel in slot 1, so it matches
the meaning of slots of GimpHistogram (before this change, only
GRAY images had their value in slot 0 and GRAYA images had it in
slot 1, whereas the histogram had the value channel in slot 0,
which was breaking auto levels for GRAYA images).
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* tools/pdbgen/pdb/color.pdb: adjusted channel fiddling for GRAY
and GRAYA images accordingly.
* app/tools/gimpcurvestool.c (curves_update)
* app/tools/gimplevelstool.c (levels_update): call
gimp_color_bar_set_buffers() with the right buffers.
* app/pdb/color_cmds.c: regenerated.
2004-06-22 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/fileops.pdb: app/pdb/fileops_cmds.c is a
generated file, need to do the documentation change here.
* app/pdb/fileops_cmds.c
* libgimp/gimpfileops_pdb.c: regenerated.
2004-06-15 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/text_tool.pdb: deprecate the XLFD-based API
gimp_text() and gimp_text_get_extents().
* app/pdb/text_tool_cmds.c
* libgimp/gimptexttool_pdb.[ch]: regenerated.
2004-06-15 Manish Singh <yosh@gimp.org>
* tools/pdbgen/pdbgen.pl
* tools/pdbgen/lib.pl: some simplistic code to add a $deprecated
flag to pdb definitions, which translates into GIMP_DISABLE_DEPRECATED
guards in lib headers.
2004-06-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/gradient_edit.pdb: set_blending_function() and
set_coloring_type() work on segment ranges, renamed them
accordingly. Spotted by Shlomi Fish.
* app/pdb/gradient_edit_cmds.c
* libgimp/gimpgradientedit_pdb.[ch]: regenerated.
2004-06-02 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/gradient_edit.pdb
* tools/pdbgen/pdb/gradients.pdb: mark new API as new using $since.
* libgimp/gimpgradientedit_pdb.c
* libgimp/gimpgradients_pdb.c: regenerated.
2004-06-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/gradient_edit.pdb: forgot two more s/int32/enum/.
* app/pdb/gradient_edit_cmds.c
* libgimp/gimpgradientedit_pdb.[ch]: regenerated.
2004-06-01 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/image.pdb
* app/pdb/image_cmds.c
* app/core/gimpimage.[ch]: reverted changes I did to the image
unit earlier. As in 2.0, it will continue to not accept pixels.
This makes the PDB API and the XCF format compatible again and
fixes bug #142961 (and to some extent bug #137704).
* app/core/Makefile.am
* app/core/gimpimage-unit.[ch]: removed these files. The
convenience accessors defined here aren't commonly used any
longer.
* app/display/gimpdisplay.[ch]
* app/display/gimpdisplayshell.[ch]: added a unit parameter to
gimp_display_new(). Made "unit" and "scale" properties of
GimpDisplayShell.
* app/actions/image-commands.c
* app/actions/images-commands.c
* app/actions/layers-commands.c
* app/actions/select-commands.c
* app/actions/view-commands.c
* app/core/gimp-edit.c
* app/core/gimp.[ch]
* app/core/gimptemplate.c
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpstatusbar.c
* app/file/file-open.c
* app/gui/gui-vtable.c
* app/gui/info-window.c
* app/gui/offset-dialog.c
* app/gui/resize-dialog.[ch]
* app/pdb/display_cmds.c
* app/tools/gimpcroptool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c
* app/tools/gimprectselecttool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/vectors/gimpvectors-export.c
* app/widgets/gimptoolbox-dnd.c
* tools/pdbgen/pdb/display.pdb: changed accordingly. Use the
display unit where the image unit was used before.
2004-06-01 Michael Natterer <mitch@gimp.org>
* app/core/gimpdatafactory.[ch]: added new function
gimp_data_factory_data_delete().
* app/actions/data-commands.c (data_delete_callback): use it.
* tools/pdbgen/pdb/gradients.pdb: applied (slightly modified)
patch from Shlomi Fish which adds PDB wrappers to create, delete,
duplicate and rename gradients.
* app/pdb/gradients_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpgradients_pdb.[ch]: regenerated.
2004-06-01 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.h: renamed the values of the
GimpGradientSegment* enums from GIMP_GRAD_* to
GIMP_GRADIENT_SEGMENT_* because they are exported now.
* app/core/gimp-gradients.c
* app/core/gimpgradient.c
* app/actions/gradient-editor-actions.c: changed accordingly.
* libgimp/gimpenums.h
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
2004-05-31 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.h
* app/core/gimpgradient.[ch]
* app/pdb/Makefile.am
* app/widgets/gimpgradienteditor.c
* tools/pdbgen/Makefile.am
* tools/pdbgen/groups.pl
* tools/pdbgen/pdb/gradient_edit.pdb: applied a patch from Shlomi
Fish that adds lots of gradient edit functions to
gimpgradient.[ch] and makes them available through the PDB.
Fixes bug #129675 and bug #129678.
Did some cleanups / enhancments to the patch:
* app/core/gimpgradient.[ch]: changed the naming scheme of the new
functions and changed old functions to match the new scheme.
Introduce a "freeze_count" and public freeze()/thaw() API which
enables subsequent gradient changes without "dirty" being emitted
all the time. Added GimpGradient parameters to all functions
which modify the gradient.
* app/widgets/gimpgradienteditor.c: use the new freeze/thaw
stuff to keep the gradient from updating when not in
"Instant Update" mode.
* app/actions/gradient-editor-commands.c: removed all gradient
editing code and call the new core functions.
* libgimp/Makefile.am
* tools/pdbgen/pdb/gradient_edit.pdb: changed the namespace of all
added functions. Generate libgimp wrappers for them..
* app/pdb/gradient_edit_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimp_pdb.h
* libgimp/gimpenums.h
* libgimp/gimpgradientedit_pdb.[ch]
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: (re)generated.
2004-05-29 Sven Neumann <sven@gimp.org>
* plug-ins/common/autocrop.c: applied patch from Philip Lafleur
that makes Autocrop register a new procedure that autocrops a
single layer as requested in bug #142618.
* tools/pdbgen/pdb/layer.pdb
* app/pdb/layer_cmds.c
* libgimp/gimplayer_pdb.c: fixed documentation for gimp_resize_layer.
Patch provided by Philip Lafleur (bug #142618).
2004-05-19 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/plug_in.pdb: made plugin_icon_register() an
underscore-prefixed function which needs to be wrapped.
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* libgimp/Makefile.am
* libgimp/gimp.h
* libgimp/gimpplugin.[ch]: new files containing
gimp_plugin_icon_register() which has no "icon_data_length"
parameter and determines it from the passed icon data.
* libgimp/gimp.def: added gimp_plugin_icon_register.
* plug-ins/common/plugindetails.c
* plug-ins/common/screenshot.c
* plug-ins/common/uniteditor.c
* plug-ins/print/print.c: don't pass the icon_data_length.
2004-05-18 Michael Natterer <mitch@gimp.org>
Allow plug-ins to register menu icons. Fixes bug #120500.
* app/core/core-enums.[ch]: added enum GimpIconType which can
be one of { STOCK_ID, IMAGE_FILE, INLINE_PIXBUF }.
* app/config/gimpconfigwriter.[ch] (gimp_config_writer_data)
* app/config/gimpscanner.[ch] (gimp_scanner_parse_data): new
functions which write/parse raw binary data. Needed for storing
inline pixbufs in pluginrc.
* app/config/gimpconfigwriter.[ch] (gimp_config_writer_identifier):
new function which writes out an unquoted and unescaped string.
* app/plug-in/plug-in-proc.[ch] (struct PlugInProcDef): added
new members "icon_type", "icon_data_length" and "icon_data".
Reordered members so file_proc specific stuff is at the end.
(plug_in_proc_def_get_stock_id)
(plug_in_proc_def_get_pixbuf): new functions to access the
procedure's icon.
* app/plug-in/plug-in-rc.c: save/restore the registered icons.
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c: set the action's stock ID from
the procedure's stock ID.
* app/widgets/gimppluginaction.c
(gimp_plug_in_action_connect_proxy): if the procedure provides a
pixbuf, set it as icon for the menu item.
* app/menus/file-dialog-menu.[ch]
* app/menus/file-open-menu.c
* app/menus/file-save-menu.c
* app/xcf/xcf.c: changed accordingly.
* tools/pdbgen/pdb/plug_in.pdb (plugin_icon_register): new PDB
function which can be called during query().
* tools/pdbgen/enums.pl
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimpenums.h
* libgimp/gimpplugin_pdb.c
* libgimp/gimpplugin_pdb.h
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c: regenerated.
* plug-ins/common/plugindetails.c
* plug-ins/common/uniteditor.c
* plug-ins/print/print.c: register stock_id icons.
* plug-ins/common/screenshot.c: register an inline_pixbuf icon for
testing purposes (used emblem-camera.png from gnome-icon-theme).
* app/actions/dialogs-actions.c
* app/actions/file-actions.c: unrelated: added some more icons
to menu items.
2004-05-17 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.c (gimp_image_init): initialize the image
unit to GIMP_UNIT_PIXEL.
* app/pdb/image_cmds.c
* tools/pdbgen/pdb/image.pdb: allow GIMP_UNIT_PIXEL to be used
in the gimp_image_set_unit() PDB call.
2004-05-14 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/fileops.pdb: added new PDB function
gimp_register_file_handler_mime() that allows to associate a MIME
type with a file procecdurre.
* app/pdb/fileops_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpfileops_pdb.[ch]: regenerated.
* app/plug-in/plug-in-proc.[ch]
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-ins.[ch]: store a mimetype with file procedures.
* app/actions/file-commands.c
* app/core/gimpdocumentlist.[ch]
* app/core/gimpimagefile.[ch]
* app/file/file-open.[ch]
* app/file/file-save.c: set the thumbnail's mimetype from the file
procedure used to load/save the image.
* app/xcf/xcf.c
* plug-ins/bmp/bmp.c
* plug-ins/common/csource.c
* plug-ins/common/dicom.c
* plug-ins/common/gif.c
* plug-ins/common/gifload.c
* plug-ins/common/jpeg.c
* plug-ins/common/mng.c
* plug-ins/common/png.c
* plug-ins/common/postscript.c
* plug-ins/common/psd.c
* plug-ins/common/psd_save.c
* plug-ins/common/sunras.c
* plug-ins/common/svg.c
* plug-ins/common/tga.c
* plug-ins/common/tiff.c
* plug-ins/common/wmf.c
* plug-ins/common/xbm.c
* plug-ins/common/xpm.c
* plug-ins/common/xwd.c
* plug-ins/faxg3/faxg3.c
* plug-ins/winicon/main.c: register a mimetype, set a translatable
action name (taken from shared-mime-info) and register to the <Load>
and <Save> menus using gimp_plugin_menu_register().
2004-05-13 Sven Neumann <sven@gimp.org>
* tools/pdbgen/lib.pl
* tools/pdbgen/pdbgen.pl: added new procedure variable 'since'
that allows to specify when a new function was added. Use that
info to generate an appropriate gtk-doc comment.
* tools/pdbgen/pdb/plug_in.pdb: set since = '2.2' for the new
function gimp_plugin_menu_register().
* libgimp/gimpplugin_pdb.c: regenerated.
2004-05-07 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc.[ch]: removed member "accelerator".
It was never set and this is the conceptually wrong place to store
it anyway.
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c
* app/plug-in/plug-in-message.c
* app/xcf/xcf.c: changed accordingly.
* tools/pdbgen/pdb/plug_in.pdb (plugins_query): always return NULL
as accelerator. Cleaned up the function a bit and made it aware of
proc_def->menu_label added below.
* app/pdb/plug_in_cmds.c: regenerated.
2004-05-07 Michael Natterer <mitch@gimp.org>
Changed plug-in menu registration again to allow passing just the
menu item's label (not the full path) in gimp_install_procedure()
and only the path (excluding the item's label) in
gimp_plugin_menu_register(). Matches the internal action system
better and makes translating the menu paths much easier.
(Of yourse it's still possible to use the old syntax for backward
compatibility).
* app/plug-in/plug-in-proc.[ch]: added "gchar *menu_label".
* app/plug-in/plug-in-params.[ch]: added new functions
plug_in_param_defs_check() and plug_in_proc_args_check() which
check if a procedure's parameters match its menu location
(e.g. <Image> needs RUN-MODE, IMAGE, DRAWABLE).
* app/plug-in/plug-in-message.c (plug_in_handle_proc_install): if
registering an old-style (full) menu_path, use
plug_in_param_defs_check(), set proc_def->menu_label otherwise.
* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register): use
plug_in_proc_args_check() on the passed menu_path and make sugre
old and new style menu registration are not mixed.
* app/pdb/plug_in_cmds.c: regenerated.
* app/plug-in/plug-in-rc.c: save/restore "menu_label".
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c
* app/menus/plug-in-menus.c: changed action/menu creation
accordingly. Some hacks needed to allow both old and new style
menu_label/menu_paths.
* app/plug-in/plug-in.c
* app/widgets/gimpfiledialog.c
* app/xcf/xcf.c: changed accordingly.
* plug-ins/common/align_layers.c
* plug-ins/common/animationplay.c
* plug-ins/common/animoptimize.c
* plug-ins/common/apply_lens.c
* plug-ins/common/autocrop.c
* plug-ins/common/autostretch_hsv.c
* plug-ins/common/blinds.c
* plug-ins/common/blur.c
* plug-ins/common/borderaverage.c
* plug-ins/common/bumpmap.c
* plug-ins/common/c_astretch.c
* plug-ins/common/ccanalyze.c
* plug-ins/common/channel_mixer.c
* plug-ins/common/checkerboard.c
* plug-ins/common/color_enhance.c
* plug-ins/common/colorify.c
* plug-ins/common/colortoalpha.c
* plug-ins/common/compose.c
* plug-ins/common/convmatrix.c
* plug-ins/common/cubism.c
* plug-ins/common/curve_bend.c
* plug-ins/common/decompose.c
* plug-ins/common/deinterlace.c
* plug-ins/common/depthmerge.c
* plug-ins/common/destripe.c
* plug-ins/common/diffraction.c
* plug-ins/common/displace.c
* plug-ins/common/edge.c
* plug-ins/common/emboss.c
* plug-ins/common/engrave.c
* plug-ins/common/exchange.c
* plug-ins/common/film.c
* plug-ins/common/flarefx.c
* plug-ins/common/fractaltrace.c
* plug-ins/common/screenshot.c: ported the first few plug-ins
to the new registration scheme.
2004-05-06 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/plug_in.pdb: renamed gimp_plugin_menu_add() to
gimp_plugin_menu_register() for consistency with other
gimp_plugin_foo_register() functions which can be called during
query().
* app/pdb/plug_in_cmds.c
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* plug-ins/common/ccanalyze.c
* plug-ins/common/colortoalpha.c
* plug-ins/common/screenshot.c
* plug-ins/winsnap/winsnap.c: changed accordingly.
2004-05-06 Michael Natterer <mitch@gimp.org>
Enabled multiple menu entries per plug-in procedure:
* app/plug-in/plug-in-proc.[ch]: changed "gchar *menu_path" to
"GList *menu_paths".
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-in.c
* app/plug-in/plug-ins.c
* app/menus/menus.c
* app/widgets/gimpfiledialog.c
* app/xcf/xcf.c: changed accordingly.
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c: create an action for the first
element of proc_def->menu_paths.
* app/gui/gui-vtable.c
* app/menus/plug-in-menus.[ch]: create proxy widgets for each
element of proc_def->menu_paths.
* tools/pdbgen/pdb/plug_in.pdb: added new function
gimp_plugin_menu_add() which can be called during query() and adds
a menu path to a procedure registered by the calling plugin.
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* menus/image-menu.xml.in
* menus/toolbox-menu.xml.in: added lots of <placeholder>s for
logical groups (like Image/Resize, Image/Scale, Image/Crop
etc.). Added empty placeholder File/Send for stuff like print and
mail. Added an "Acquire" menu under <Image>/File
* plug-ins/common/mail.c
* plug-ins/print/print.c
* plug-ins/common/winprint.c: register under File/Send.
* plug-ins/common/screenshot.c
* plug-ins/winsnap/winsnap.c: also register under
<Image>/File/Acquire.
* plug-ins/common/autocrop.c
* plug-ins/common/ccanalyze.c
* plug-ins/common/colortoalpha.c
* plug-ins/common/threshold_alpha.c
* plug-ins/common/zealouscrop.c: register additional menu entries
under placeholders in the "Image" and "Layer" menus. This is not
meant to be final but just a hint to keep in mind when
reorganizing the plug-in menus.
2004-05-05 Michael Natterer <mitch@gimp.org>
* app/gui/brush-select.[ch] (brush_select_new): reordered parameters
so the first four are the same for all foo_select_new() functions.
* tools/pdbgen/pdb/brush_select.pdb: changed accordingly.
* app/pdb/brush_select_cmds.c: regenerated.
* app/gui/font-select.c (font_select_new): set the vbox'
border width to 6 to match the other foo_select dialogs.
2004-04-15 Michael Natterer <mitch@gimp.org>
Context cleanup continued:
* app/core/gimpitem.[ch]: added context parameter to
GimpItem::stroke().
* app/core/gimpchannel.c (gimp_channel_stroke)
* app/vectors/gimpvectors.c (gimp_vectors_stroke): use it to get
default values from instead of gimp_get_user_context().
* app/core/gimpselection.c
* app/gui/stroke-dialog.c
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb: changed accordingly.
* app/pdb/edit_cmds.c
* app/pdb/paths_cmds.c: regenerated.
* app/plug-in/plug-in.[ch]: added GimpContext member to the PlugIn
struct. Added context parameter to plug_in_new(),
plug_in_call_query() and plug_in_call_init().
* app/plug-in/plug-in-run.[ch]: added context parameters to
plug_in_run() and plug_in_repeat().
* app/gui/plug-in-commands.c
* app/gui/vectors-commands.c
* app/pdb/procedural_db.c
* app/widgets/gimphelp.c: pass a context to plug_in_run() and
plug_in_repeat().
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): call
procedures with the plug-in's context.
* app/plug-in/plug-ins.c: use a temporary context for running the
plug-ins' query() and init() functions. Use the same context for
running automatic extensions. This temporarily separates the main
Script-Fu extension from the user context (i.e. scripts have no
way of setting/getting the global FG, BG, brush etc.).
2004-04-13 Michael Natterer <mitch@gimp.org>
Moved the calls to floating_sel_relax()/rigor() from various
places to two single spots in the core where they are actually
needed. Fixes bug #138356 (which was caused by the projection
being triggered in the middle of changing the floating selection's
size or the size of the drawable it is attached to). This commit
effectively removes floating selection fiddling from the core's
public API.
* app/core/gimpdrawable.[ch] (gimp_drawable_has_floating_sel): new
function which returns TRUE if there is a floating selection
attached to the drawable.
* app/core/gimpdrawable.c (gimp_drawable_translate)
(gimp_drawable_set_tiles_full): if the drawable *has* a floating
selection, relax/rigor it before/after modifying the drawable.
* app/core/gimplayer.c (gimp_layer_translate)
(gimp_layer_set_tiles): if the layer *is* the floating selection,
relax/rigor it before/after modifying it.
* app/core/gimpdrawable-transform.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-crop.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/gui/layers-commands.c
* app/tools/gimpeditselectiontool.c
* tools/pdbgen/pdb/layer.pdb: removed calls to
floating_sel_rigor()/relax() all over the place. Also removed
lots of undo groups which are obsolete now.
* app/pdb/layer_cmds.c: regenerated.
2004-04-13 Michael Natterer <mitch@gimp.org>
GimpItem undo group cleanup in preparation of fixing bug #138356:
* app/core/core-enums.[c]: renamed LAYER_SCALE and LAYER_RESIZE
undo groups to ITEM_SCALE and ITEM_RESIZE.
* app/core/gimpitem.[ch]: always push undo groups around
GimpItem::translate(), scale(), resize(), flip(), rotate() and
transform(). Added the resp. undo_desc strings to GimpItemClass.
* app/core/gimpchannel.[ch]
* app/core/gimpdrawable.[ch]
* app/core/gimplayer.c: removed all undo groups from
implementations of the above methods. Removed the undo_desc
strings which were moved to GimpItemClass.
* app/core/gimpimage-crop.c
* app/core/gimpselection.c
* app/gui/layers-commands.c
* app/vectors/gimpvectors.c
* tools/pdbgen/pdb/layer.pdb: changed accordingly.
* app/pdb/layer_cmds.c: regenerated.
2004-03-28 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added "gboolean removed" to the GimpItem
struct. Defaults to FALSE. Set it to TRUE in gimp_item_removed().
Added public function gimp_item_is_removed().
* app/core/gimpimage-undo-push.c (undo_pop_layer)
(undo_pop_layer_mask) (undo_pop_channel) (undo_pop_vectors):
set it to FALSE manually when re-adding something from the
undo stack.
* tools/pdbgen/app.pl
* tools/pdbgen/pdb.pl: don't allow any operation on items which
are removed from the image (and exist on the undo stack only).
Fixes bug #138311.
* app/pdb/channel_cmds.c
* app/pdb/color_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/edit_cmds.c
* app/pdb/floating_sel_cmds.c
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/paint_tools_cmds.c
* app/pdb/parasite_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/selection_tools_cmds.c
* app/pdb/transform_tools_cmds.c: regenerated.
2004-03-26 Manish Singh <yosh@gimp.org>
* tools/pdbgen/app.pl: don't generate code with tabs.
* tools/pdbgen/pdb/procedural_db.pdb: convert tabs to spaces in
helper function declaration.
* app/pdb/procedural_db.c: convert tabs to spaces.
* app/pdb/*.c: regenerated, no code changes, only tabs->spaces.
2004-03-13 Michael Natterer <mitch@gimp.org>
Completed the fix for bug #136702:
* app/core/gimpitem.[ch]: added "gboolean supersample" and
"gint recursion_level" to GimpItem::transform().
* app/core/gimpitem-linked.[ch] (gimp_item_linked_transform): ditto.
* app/core/gimpdrawable-transform.[ch]: added "recursion_level"
parameters and removed the RECURSION_LEVEL #define.
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimplayer.c
* app/vectors/gimpvectors.c: changed accordingly.
* app/tools/gimptransformoptions.[ch]: added new property
"recursion_level" which is not serializable and has no GUI. Pretty
useless, but it's IMHO better to hardcode the default value here
than in gimpdrawable-transform.c
* app/tools/gimptransformtool.c: changed accordingly.
* tools/pdbgen/pdb/transform_tools.pdb: hardcode "recursion_level"
to 3.
* app/pdb/transform_tools_cmds.c: regenerated.
2004-03-13 Raphael Quinet <quinet@gamers.org>
* app/tools/gimptransformoptions.[ch]: added new "supersample"
property to GimpTransformOptions and added corresponding check
button in the option dialog for the transform tools.
* app/core/gimpdrawable-transform.[ch],
* app/core/gimpdrawable.c,
* app/tools/gimptransformtool.c: new "gboolean supersample"
parameter added to gimp_drawable_transform_tiles_affine() and
gimp_drawable_transform_affine().
* tools/pdbgen/pdb/transform_tools.pdb: ditto. For the PDB calls,
the supersample parameter is set to FALSE for "rotate" and "shear"
and set to TRUE for "perspective", "scale" and "transform_2d".
* app/pdb/transform_tools_cmds.c: regenerated.
The new "supersample" option lets the user decide if the
transformations should use supersampling (RECURSION_LEVEL 3) or
not. This fixes both bug #136702 and bug #109817. Hopefully for
good, this time.
2004-03-07 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/edit.pdb (gimp-edit-copy, gimp-edit-cut)
removed some comments that dated back to the time when these
functions used to take image and drawable parameters.
* app/pdb/edit_cmds.c
* libgimp/gimpedit_pdb.c: regenerated.
2004-02-23 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: added #defines for GimpCoords' default
pressure, tilt and wheel values.
* app/display/gimpdisplayshell-callbacks.c
* app/paint/gimppaintcore-stroke.c
* app/text/gimptext-vectors.c
* tools/pdbgen/pdb/paint_tools.pdb: use them. Fixes lots more
buggy default values for tilt (in fact all of them were wrong).
* app/pdb/paint_tools_cmds.c: regenerated.
2004-02-10 Michael Natterer <mitch@gimp.org>
* app/core/gimpviewable.[ch]: added new function
gimp_viewable_get_dummy_preview() which currently returns a
completely white and opaque TempBuf of the requested size. Added
this useless function because this is the place where to implement
a nicer preview if someone volunteers.
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb: use the new function if
gimp->config->layer_previews is FALSE instead of returning no
preview at all. Fixes bug #112012.
Cleaned up the preview functions a bit and raised
the limit for drawable previews from 128x128 to 256x256.
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* libgimp/gimpdrawable_pdb.c: regenerated.
2004-02-05 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/edit.pdb (edit_paste): don't call
gimp_edit_paste() with a NULL buffer. Instead, return an execution
error if there is no global buffer to paste. Fixes the warning
triggered by bug #133244 (but not the bug itself of course).
* app/pdb/edit_cmds.c: regenerated.
2004-02-04 Sven Neumann <sven@gimp.org>
* app/config/gimprc.[ch]: added the new function
gimp_rc_set_unknown_token() to get autosave working for unknown
gimprc tokens.
* app/config/gimpconfig.c: indentation.
* tools/pdbgen/pdb/gimprc.pdb: gimp->edit_config was used for a
good reason, it's the one that's saved. Reverted a change I did
about a month ago. Use gimp_rc_set_unknown_token() so unknown
tokens get saved. This really fixes gimp_gimprc_set().
* app/pdb/gimprc_cmds.c: regenerated.
2004-02-03 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc.[ch]: added new function
plug_in_proc_def_compare_menu_path() which is a GCompareDataFunc.
(uses g_utf8_collate() on the translated menu paths).
* app/plug-in/plug-ins.c (plug_ins_init): sort gimp->load_procs
and gimp->save_procs using the new compare function above.
Fixes bug #133180.
(plug_ins_locale_domain)
(plug_ins_help_domain): don't g_return_if_fail() on a NULL
prog_name but return the default locale and help domains
of the GIMP itself.
(plug_ins_proc_def_insert): removed obsolete and broken (not
locale and UTF-8 aware) code which tried to insert new plug-in
menu entries in alphabetical order (was unused except for load
and save procs).
Unrelated:
* app/plug-in/plug-in-proc.[ch]: added const qualifiers.
* app/file/file-open.c
* app/file/file-save.c
* tools/pdbgen/pdb/fileops.pdb: changed accordingly (constify
local variables).
* app/pdb/fileops_cmds.c: regenerated.
2004-02-01 Michael Natterer <mitch@gimp.org>
Disallow to rename the layer mask. Instead, always name the mask
"<layer name> mask". Fixes bug #133112 along with some other
unreported ones.
* app/core/gimpitem.[ch]: added a boolean return value indicating
success to GimpItem::rename().
(gimp_item_real_rename): push an undo step only if the item is
attached.
* app/core/gimplayer.c (gimp_layer_rename): refuse renaming if
the layer is a floating selection floated from a channel
(renaming a layer's floating selection makes a new layer out
of the floating selection).
(gimp_layer_duplicate): use gimp_layer_add_mask() to attach the
mask's duplicate. Fixes mask refcount brokenness for duplicated
layer masks.
(gimp_layer_name_changed): new function. Automatically renames the
layer mask when the layer's name changes.
* app/core/gimplayermask.c (gimp_layer_mask_rename): new function
which refuses renaming.
(gimp_layer_mask_name_changed): skip the unique name voodoo
GimpItem does by not chaining up.
(gimp_layer_mask_set_layer): change the mask's name whenever it is
attached to a layer.
* app/text/gimptextlayer.c (gimp_text_layer_rename): fiddle with
text_layer->auto_rename only if renaming was successful.
* app/widgets/gimpitemtreeview.c (gimp_item_tree_view_name_edited):
restore the old name if renaming failed.
* tools/pdbgen/pdb/drawable.pdb (set_name): return an execution
error if renaming failed.
* app/pdb/drawable_cmds.c: regenerated.
2004-01-31 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-convert.[ch]: use gboolean instead of gint
for "alpha_dither" and "remove_dups" in all public and private
functions. Properly prototyped private functions. Minor cleanup.
* app/gui/convert-dialog.c: pass FALSE instead of 0.
* tools/pdbgen/pdb/convert.pdb: ditto. Also cleaned up a bit: use
generated checks and documentation for enums, removed duplicate
check for enum range (spotted by Kevin Cozens).
* app/pdb/convert_cmds.c
* libgimp/gimpconvert_pdb.c: regenerated.
2004-01-29 Simon Budig <simon@gimp.org>
* app/display/gimpdisplayshell.[ch]: Store the zoom factor as
float, not as a ratio.
* app/display/gimpdisplayshell-scale.[ch]: change the API to
expose the Float instead a weirdly encoded integer. Implement
functions to get a ratio from the scale factor. Implement a set
as presets as discussed on the mailinglist. Changed Zoom->Other
dialog to enable entering a float.
* app/display/gimpdisplayshell-title.c
* app/display/gimpnavigationview.c
* app/gui/image-menu.c
* app/gui/info-window.c
* app/tools/gimpmagnifytool.c: changed accordingly.
* app/core/gimp.[ch]
* app/display/gimpdisplay.[ch]
* app/gui/gui-vtable.c
* app/widgets/widgets-enums.h: Made the various display-creating
functions accept a float for the scale. Introduce a new
GimpZoomType: GIMP_ZOOM_TO. Generally adjust the API to use
floats instead of weird integers.
* app/core/gimp-edit.c
* app/core/gimptemplate.c
* app/display/gimpdisplayshell-callbacks.c
* app/file/file-open.c
* app/gui/image-commands.c
* app/gui/view-commands.[ch]
* tools/pdbgen/pdb/display.pdb
* app/widgets/gimpimageview.c
* app/widgets/gimptoolbox-dnd.c: changed accordingly
* app/pdb/display_cmds.c: regenerated
2004-01-26 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/scripts/unsharp-mask.scm: add the layer to
the image before pasting to it. Fixes bug #132504.
Fixed the underlying problem: make it impossible to attach
floating selections to drawables which are not currently part of
the image's layer or channel stacks.
Also cleaned up image <-> floating_sel interaction:
* app/core/gimplayer-floating-sel.[ch] (floating_sel_attach):
added assertion that the drawable is part of the image (see below).
Don't call gimp_image_floating_selection_changed(), it's emitted
by gimp_image_add_layer() now.
(floating_sel_remove)
(floating_sel_anchor): don't emit "floating_selection_changed",
it's emitted by gimp_image_remove_layer() now.
(floating_sel_anchor): removed the fix for bug #132162 because
gimp_image_remove_layer() behaves correctly now (see below).
Renamed floating_sel_reset() to floating_sel_activate_drawable().
Added g_return_if_fail() all over the place.
* app/core/gimpimage.[ch]: added new function gimp_image_owns_item()
which return TRUE if the passed item is part of the image.
(gimp_image_add_layer): emit "floating_selection_changed" here if
needed.
(gimp_image_remove_layer): emit "floating_selection_changed" if
needed, don't try to activate a layer if we called
floating_sel_activate_drawable().
This is the real fix for bug #132162.
* app/core/gimpimage-undo-push.c (undo_pop_layer): apply the same
fixes as to gimp_image_add,remove_layer(). Don't call
gimp_drawable_invalidate_preview() on the previously active layer
because that's done by gimp_image_set_active_layer() now.
* app/xcf/xcf-load.c: remember the "floating_sel_drawable" in the
XcfInfo struct and attach it *after* all layers and channels are
loaded to avoid attaching the floating selection to an
out-of-image drawable.
* app/core/gimp-edit.c (gimp_edit_paste)
* app/core/gimpdrawable-transform.c (gimp_drawable_transform_affine,
gimp_drawable_transform_flip, gimp_drawable_transform_rotate)
* app/core/gimpselection.c (gimp_selection_float)
* app/text/gimptext-compat.c (text_render): added checks for
gimp_image_owns_item() in all functions which can produce
floating selections.
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/floating_sel.pdb
* tools/pdbgen/pdb/selection.pdb
* tools/pdbgen/pdb/text_tool.pdb
* tools/pdbgen/pdb/transform_tools.pdb: added checks for
gimp_item_owns_image() and return an execution error if invoked
with a drawable which is not part of the image.
* app/pdb/edit_cmds.c
* app/pdb/floating_sel_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/text_tool_cmds.c
* app/pdb/transform_tools_cmds.c: regenerated.
2004-01-24 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/color.pdb (levels, curves): fiddle with the
passed channel index only for GRAYA drawables, not for all GRAY
drawables. Fixes bug #132322.
* tools/pdbgen/pdb/color.pdb: regenerated.
* app/tools/gimpcurvestool.[ch]
* app/tools/gimplevelstool.[ch]: fixed the same bug here. It never
occured because the "channel" field was accidentially initialized
with the correct value and never changed after.
2004-01-22 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added "gboolean use_default_values"
to GimpItem::stroke().
* app/core/gimpselection.c: changed accordingly.
* app/core/gimpchannel.c
* app/vectors/gimpvectors.c: if use_default_values is TRUE, don't
use the GimpPaintOptions passed in the GimpPaintInfo, but create a
new one.
* app/gui/stroke-dialog.c: pass FALSE so the values as set in the
tool options are used.
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb: pass TRUE so tool options settings
don't affect PDB stroke calls. Fixes part 2 of bug #132145.
* app/pdb/edit_cmds.c
* app/pdb/paths_cmds.c: regenerated.
2004-01-20 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/help.pdb: changed "prog_name" parameter of
gimp_help() to "help_domain". It's useless to pass the plug-in's
executable name to the core because the core already knows it.
Instead, enabled accessing arbitrary help domains via the
PDB. Passing NULL as help_domain will use the domain the plug-in
registered, or the GIMP main help domain if it didn't register a
domain.
* app/pdb/help_cmds.c
* libgimp/gimphelp_pdb.[ch]: regenerated.
* libgimp/gimpui.c (gimp_ui_help_func): pass NULL as help_domain.
2004-01-18 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.c (gimp_image_set_active_layer): don't allow
to select anything but the floating selection. Fixes bug #128025.
(gimp_image_set_active_layer,channel,vectors): allow to pass NULL
to unselect the active item. Removed the silly feature that
passing some random item of another image would select the first
item in the list (was unused anyway).
(gimp_image_unset_active_channel): use gimp_image_set_active_channel()
now that it accepts NULL.
(gimp_image_add_layer,channel,vectors): cleaned up / simplified.
(gimp_image_remove_layer,channel,vectors): cleanup,
simplification, use gimp_image_set_active_layer,channel,vectors()
now that they accept NULL, make sure the item next to the removed
item becomes the active one (and not the first in the list, which
was a severe usability problem in the dialogs).
* app/core/gimpimage-undo-push.c (undo_pop_layer,channel): pass
NULL to the set_active functions, cleanup.
* app/core/gimpimage-duplicate.c: attach the floating selection
before setting the active layer. Code relied on broken
gimp_image_set_active_layer() behaviour before.
* app/core/gimplayer-floating-sel.c: no need to set
gimage->floating_sel before calling gimp_image_add_layer(). The
weird GUI mentioned in the comment existed in 1.2 only.
* app/display/gimpdisplayshell-layer-select.c (layer_select_advance):
don't assume that setting the active_layer always succeeds.
* tools/pdbgen/pdb/image.pdb: behave as the documentation says
and return an execution error if setting the active layer or
channel failed.
Unrelated:
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: removed leftover cruft from the old
guchar based color API.
* tools/pdbgen/pdb/channel.pdb: simplified code which handles the
channel's color.
* app/pdb/channel_cmds.c
* app/pdb/image_cmds.c: regenerated.
2004-01-15 Michael Natterer <mitch@gimp.org>
Fixed bug #78732 (don't paste off screen):
* app/display/gimpdisplayshell-transform.[ch]: added new function
gimp_display_shell_untransform_viewport() which returns the
visible rectangle of the image in image coordinates.
* app/core/gimp-edit.[ch] (gimp_edit_paste): added viewport
parameters and changed positioning of the pasted layer as follows:
- if there is a selection, center on the selection (just as before).
- if there is no viewport, center on the active drawable.
- if the viewport intersects with the active drawable, center
on the intersection.
- if the viewport does *not* intersect with the active drawable,
center on the active drawable (off-screen, but better than pasting
something that will be invisible due to floating selection clipping).
- if there is no active drawable, center on the viewport.
- if there is no active drawable and no viewport, center on the image.
* app/widgets/gimpbufferview.c (gimp_buffer_view_paste_clicked)
(gimp_buffer_view_paste_into_clicked)
* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_drop_buffer)
* app/gui/edit-commands.c (edit_paste_cmd_callback)
(edit_paste_into_cmd_callback): ask the shell for the viewport
and pass it to gimp_edit_paste().
* app/display/gimpdisplayshell-dnd.c
(gimp_display_shell_drop_drawable): center the created layer on
the viewport.
* app/tools/gimpmovetool.c (gimp_move_tool_button_release): use
gimp_display_shell_untransform_viewport() (its code was taken from
here).
* tools/pdbgen/pdb/edit.pdb: pass "no viewport" to gimp_edit_paste().
* app/pdb/edit_cmds.c: regenerated.
2004-01-13 Michael Natterer <mitch@gimp.org>
* app/base/gimphistogram.c: added GimpHistogramChannel index
fiddling hacks for GRAYA images to all gimp_histogram_get_*()
functions. The public API now does what their enum values pretend
to do.
(gimp_histogram_calculate): restructured to reduce indentation depth.
* app/widgets/gimphistogrameditor.c
* app/widgets/gimphistogramview.c
* tools/pdbgen/pdb/color.pdb: removed hacks here and always use
the unchanged enum values.
* app/pdb/color_cmds.c: regenerated.
2004-01-13 Michael Natterer <mitch@gimp.org>
* app/base/gimphistogram.[ch]: renamed gimp_histogram_nchannels()
to gimp_histogram_n_channels().
* app/core/gimpdrawable-histogram.c: removed silly double negation
logic. Cleanup.
* app/widgets/gimphistogrameditor.c
* app/widgets/gimphistogramview.c: adjust the GimpHistogramChannel
for GRAYA images to make sure we pick alpha from the right slot.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: removed the same hack here and call
gimp_histogram_view_set_channel() with the correct enum value.
* tools/pdbgen/pdb/color.pdb (levels, curves, histogram): fiddle
with enum values here too so GRAY* drawables produce the correct
results.
Fixed precondition checks and set "success" in a uniform way all
over the place.
Use gimp_drawable_calculate_histogram() instead of duplicating its
code here.
(started with a patch from Pedro Gimeno. Fixes bug #109078)
* app/pdb/color_cmds.c: regenerated.
2004-01-10 Sven Neumann <sven@gimp.org>
* app/core/gimpimagefile.[ch] (gimp_imagefile_update): removed the
size parameter and do nothing but invalidating the preview.
* app/gui/file-open-dialog.c
* app/widgets/gimpdocumentview.c: changed accordingly.
* app/core/gimpdocumentlist.c (gimp_document_list_deserialize):
no need for calling gimp_imagefile_update() from here.
* tools/pdbgen/pdb/fileops.pdb
* app/pdb/fileops_cmds.c (file_load_thumbnail): rewritten using the
GimpThumbnail API.
* app/core/gimp.c: cosmetics.
2004-01-07 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/gimprc.pdb: removed redundant "success = TRUE"
assignments which simplifies the generated code quite a bit.
(most of the changed functions always succeed and don't need a
"success" variable at all)
* app/pdb/gimprc_cmds.c: regenerated.
2004-01-06 Michael Natterer <mitch@gimp.org>
Enabled skipping enum values for either the PDB or GType
registration (don't always skip both targets):
* tools/gimp-mkenums: skip enum values only if there is a literal
"skip" (don't match "pdb-skip").
* tools/pdbgen/enumgen.pl: skip only "pdb-skip" values, not "skip"
ones.
* app/base/base-enums.h
* app/core/core-enums.h
* app/paint/paint-enums.h
* libgimpbase/gimpbaseenums.h: use the right "pdb-skip"/"skip"
combination to skip enum values. Changed comments accordingly.
Cleaned up the fill functions:
* app/core/core-enums.[ch]: added GIMP_PATTERN_FILL enum value to
the GimpFillType enum. Don't export GIMP_NO_FILL to the PDB
because it's completely useless to export a NOP.
* app/core/gimp-edit.c (gimp_edit_fill, gimp_edit_fill_internal):
handle pattern fill requests.
* app/core/gimpdrawable.[ch] (gimp_drawable_fill): added GimpPattern
parameter and fill with it if it's non-NULL.
(gimp_drawable_fill_by_type): handle pattern fill and pass the
current pattern to gimp_drawable_fill().
* app/text/gimptextlayer.c: changed accordingly.
* app/gui/edit-commands.c
* app/gui/image-menu.c: use gimp_edit_fill() instead of
gimp_drawable_bucket_fill() for FG, BG and pattern filling.
* libgimp/gimpcompat.h
* plug-ins/script-fu/siod-wrapper.c: removed NO_IMAGE_FILL compat
enum value. It should have never been exported to the PDB.
* app/pdb/drawable_cmds.c
* app/pdb/edit_cmds.c
* libgimp/gimpenums.h
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
2004-01-06 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/gimprc.pdb: use gimp->config; edit_config is
just for the prefs dialog. This should fix gimp_gimprc_set().
* app/pdb/gimprc_cmds.c: regenerated.
2003-12-16 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/image.pdb (image_add_layer_mask)
* tools/pdbgen/pdb/layer.pdb (layer_add_mask): don't unref the
mask after adding it because the layer now takes ownership using
g_object_ref()/gimp_item_sink().
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c: regenerated.
2003-12-13 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/procedural_db.pdb: added a hack that allows to
dynamically allocate the strings returned by a PDB query. Construct
more useful "blurb" and "help" strings for deprecated procedures.
* tools/pdbgen/pdb/image.pdb: did the same change manually for
gimp_image_add,remove_layer_mask.
* app/pdb/procedural_db_cmds.c
* app/pdb/image_cmds.c: regenerated.
2003-12-09 Michael Natterer <mitch@gimp.org>
Fixed memory management of layers and channels which were created
using the PDB:
* app/core/gimpitem.[ch]: added "gboolean floating" flag to
GimpItem. Items are created with floating == TRUE. Added
gimp_item_sink() which resets the floating flag and unrefs the
item if it was TRUE. Added gimp_item_is_floating() accessor.
* app/core/gimpimage.c (gimp_image_add_layer,channel,vectors):
g_object_ref()/gimp_item_sink() added items to take ownership of
them.
* app/core/gimplayer.c (gimp_layer_add_mask):
g_object_ref()/gimp_item_sink() the mask.
* app/gui/layers-commands.c
* app/xcf/xcf-load.c: don't unref layer masks after adding them to
the layer.
* tools/pdbgen/pdb/drawable.pdb (drawable_delete):
gimp_item_sink() the drawable if it's floating and fail if it's
not. Fixes bug #128881.
* tools/pdbgen/pdb/layer.pdb (layer_create_mask): fixed docs.
* app/pdb/drawable_cmds.c
* app/pdb/layer_cmds.c
* libgimp/gimplayer_pdb.c: regenerated.
2003-12-09 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/image.pdb (image_list): iterate gimp->images
directly rather than building a (leaked) temp GList using
gimp_container_foreach(). Removed gimlist_cb() utility function.
* app/pdb/image_cmds.c: regenerated.
2003-12-08 Michael Natterer <mitch@gimp.org>
Some PDB fixes/cosmetics before doing real changes again:
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/layer.pdb: changed order of generated functions
to make more sense.
* tools/pdbgen/pdb/misc_tools.pdb: doc cosmetics, removed unused
subroutines.
* tools/pdbgen/pdb/image.pdb: reordered generated functions as
above, fixed resolution and unit accessors to use functions
instead of setting gimage->foo directly, use &image_accessors()
for the tattoo_state functions, cleanup.
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/misc_tools_cmds.c
* libgimp/gimpdrawable_pdb.[ch]
* libgimp/gimpimage_pdb.[ch]
* libgimp/gimplayer_pdb.[ch]
* libgimp/gimpmisctools_pdb.c: regenerated.
2003-12-08 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/display.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb: don't use "alias"es just to rename
variables, they just clutter the code and there is no reason why
e.g. a GimpDisplay variable must be called "gdisp" instead of
"display". Cleanup.
* app/pdb/channel_cmds.c
* app/pdb/display_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c: regenerated.
2003-12-05 Michael Natterer <mitch@gimp.org>
Made 3rd party scripts work again after all that PDB function
renaming:
* app/core/gimp.[ch]: added "GHashTable *procedural_compat_ht" to
the Gimp struct which maps old procedure names to new ones.
Call new function procedural_db_init_procs() instead of
internal_procs_init().
* app/pdb/procedural_db.[ch]: create and destroy the new compat
hash table. Added new function procedural_db_init_procs() which
registers the internal procedures and fills the compat hash table.
(procedural_db_execute): minor fixes.
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): if
the requested procedure was not found, try the compat table.
* tools/pdbgen/pdb/procedural_db.pdb: made all PDB query
procedures compat aware. For compat procedures, return help
strings which declare the procedure as deprecated and tell
the new name of the procedure. Cleanup.
* app/pdb/procedural_db_cmds.c: regenerated.
2003-12-03 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/layer.pdb: removed gimp_layer_delete() and
gimp_channel_delete() PDB wrappers...
* tools/pdbgen/pdb/drawable.pdb: ...added gimp_drawable_delete().
* libgimp/gimpdrawable.[ch]: removed gimp_drawable_delete()
(having this function work on the GimpDrawable wrapper and not on
the drawable_id was more than questionable anyway).
* libgimp/gimpcompat.h: added gimp_layer_delete and
gimp_channel_delete cruft #defines.
* app/pdb/channel_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/internal_procs.c
* app/pdb/layer_cmds.c
* libgimp/gimpchannel_pdb.[ch]
* libgimp/gimpdrawable_pdb.[ch]
* libgimp/gimplayer_pdb.[ch]: regenerated.
* plug-ins/script-fu/scripts/add-bevel.scm
* plug-ins/xjt/xjt.c: changed accordingly.
* plug-ins/imagemap/imap_main.c: just removed the call to
gimp_channel_delete(), it was wrong anyway.
2003-12-03 Michael Natterer <mitch@gimp.org>
* libgimp/libgimp-sections.txt
* libgimp/tmpl/gimpchannel.sgml
* libgimp/tmpl/gimpdrawable.sgml
* libgimp/tmpl/gimplayer.sgml: updated again.
2003-11-30 Sven Neumann <sven@gimp.org>
* app/batch.c: removed the hack that used to call gimp_exit() when
the batch command matches "(gimp-quit 0)". It shouldn't be needed.
* tools/pdbgen/pdb/misc.pdb
* app/core/gimp.[ch]
* app/gui/gui.c: renamed "kill_it" parameter to "force". We don't
kill the application any longer; this option is just about whether
to ask the user for confirmation or not.
* app/pdb/misc_cmds.c: regenerated.
* app/app_procs.c: cosmetics.