2005-02-27 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-blend.c: fixed rounding errors in the
non-dithered case and optimized the dithering code.
2005-02-27 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-blend.c: (hopefully) improve the threaded
performance by using a dedicated RNG per tile.
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-16 Sven Neumann <sven@gimp.org>
* app/base/pixel-processor.[ch]: added a variant of
pixel_regions_process_parallel() that takes a progress callback and
progress data. Does only work for the single-threaded case yet.
* app/core/gimpdrawable-blend.c (gradient_fill_region): parallelized.
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-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-08-11 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-blend.c
* app/core/gimpprogress.c: some progress cleanup.
* app/display/gimpstatusbar.c (gimp_statusbar_progress_start): no
need to warn if there is already a progress active, just silently
return NULL as all other GimpProgressInterface implementors.
* app/plug-in/plug-in-progress.c: several progress fixes.
It's still a mess.
* plug-ins/common/url.c: don't show progress depending on
run_mode. Run the actual file plug-in with the same run_mode we
were invoked with.
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-06-13 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs.[ch] (shapeburst_region): added
progress callback.
* app/core/gimpdrawable-blend.c: show a progress while calculating
the Shapeburst. Not perfect but better than not showing any
progress at all.
2004-03-13 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-blend.c (gradient_calc_shapeburst_*):
applied a patch from Pedro Gimeno that fixes the crash reported in
bug #136219.
2004-01-26 Manish Singh <yosh@gimp.org>
* app/core/gimpdrawable-blend.c (gradient_fill_region): use memcpy
instead of casted assignment for storing HSV values in rbd.fg/bg,
for C99 aliasing compliance.
* app/xcf/xcf-load.c (xcf_load_layer_mask): use a GimpChannel *
explictly for xcf_load_channel_props, for the above reason.
* app/xcf/xcf-save.c (xcf_save_prop): use a temporary guint32 for
saving property types, for the above reason.
* app/core/gimpparasitelist.c (gimp_parasite_list_deserialize): plug
a memory leak, since data is copied on parasite creation.
2003-10-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.[ch]: added new virtual functions
GimpDrawable::get_active_components(), apply_region() and
replace_region().
* app/core/Makefile.am
* app/core/gimpdrawable-combine.[ch]: new files containing
apply_region()'s and replace_region()'s default implementation.
They are identical to the ones removed from GimpImage except that
they don't mask the selection with itself (bug #107949).
* app/core/gimpchannel.c
* app/core/gimplayer.c: implement get_active_components().
* app/core/gimpchannel.c: implement apply_region() and
replace_region() and invalidate the channel's boundary
before upchaining (bug #107949).
* app/core/gimpimage.[ch]: removed gimp_image_apply_image(),
gimp_image_replace_image() and gimp_image_get_active_components().
* app/core/gimpimage-undo-push.c (undo_pop_image): invalidate
boundary and bounds if the drawable is a channel (bug #107949).
(undo_pop_mask)
(undo_pop_channel_mod): finish previous commit :)
* app/core/gimp-edit.c
* app/core/gimpdrawable-blend.c
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpdrawable-stroke.c
* app/core/gimpimagemap.c
* app/core/gimplayer-floating-sel.c
* app/paint/gimppaintcore.c
* app/tools/gimpinktool.c: changed accordingly.
2003-07-24 Sven Neumann <sven@gimp.org>
* app/composite/Makefile.am: fixed build rules. There must not be
a dependency that causes gimp-composite-dispatch.[ch] to be
regenerated since we don't want to depend on Python for our build.
* app/core/gimpdrawable-blend.c (gradient_fill_region)
(gradient_put_pixel): fixed a problem with the new gradient
dithering on grayscale drawables (bug #118141).
2003-07-22 Michael Natterer <mitch@gimp.org>
* app/core/gimpgradient.[ch]: added "gboolean reverse" to
gimp_gradient_get_color_at() so all gradients can be used
reversed.
* app/core/gimpdrawable-blend.[ch] (gimp_drawable_blend)
* app/core/gimppalette-import.[ch] (gimp_palette_import_from_gradient):
added "gboolean reverse".
* app/paint/paint-enums.[ch]: removed enum GimpGradientRepeatMode
since it is identical to GimpRepeatMode, except for the now
obsolete ONCE_BACKWARD value.
* app/paint/gimppaintcore.[ch]: removed
gimp_paint_core_get_color_from_gradient()...
* app/paint/gimppaintoptions.[ch]: ...and added
gimp_paint_options_get_gradient_color(), which is much more
general. Added a "reverse" property to GimpGradientOptions and
changed the type of the "repeat" property to GimpRepeatMode.
* app/paint/gimppaintbrush.c: use
gimp_paint_options_get_gradient_color().
* app/tools/gimpblendoptions.[ch]: removed the "repeat" property
since it is in the parent class now.
* app/gui/gradient-select.c
* app/gui/palette-import-dialog.c
* app/widgets/gimpgradienteditor.c
* app/tools/gimpblendtool.c
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/misc_tools.pdb: changed accordingly.
* app/tools/gimppaintoptions-gui.c: added a "Reverse" toggle right
of the gradient preview.
* app/widgets/gimppreviewrenderergradient.[ch]: added "gboolean
reverse" member and gimp_preview_renderer_gradient_set_reverse()
API.
* tools/pdbgen/pdb/paint_tools.pdb: fixed the paintbrush invoker
to set GimpPaintOption's "use-fade" and "use-gradient" properties
correctly.
* app/pdb/gradients_cmds.c
* app/pdb/misc_tools_cmds.c
* app/pdb/paint_tools_cmds.c
* libgimp/gimpenums.h
* libgimp/gimpmisctools_pdb.[ch]
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
* libgimp/gimpcompat.h
* plug-ins/script-fu/siod-wrapper.c: removed GimpGradientPaintMode
here too since it was only exported accidentially (it's not used
by any external API).
* plug-ins/script-fu/scripts/3dTruchet.scm
* plug-ins/script-fu/scripts/alien-glow-arrow.scm
* plug-ins/script-fu/scripts/alien-glow-bar.scm
* plug-ins/script-fu/scripts/alien-glow-bullet.scm
* plug-ins/script-fu/scripts/alien-glow-button.scm
* plug-ins/script-fu/scripts/alien-glow-logo.scm
* plug-ins/script-fu/scripts/basic1-logo.scm
* plug-ins/script-fu/scripts/basic2-logo.scm
* plug-ins/script-fu/scripts/beveled-button.scm
* plug-ins/script-fu/scripts/blended-logo.scm
* plug-ins/script-fu/scripts/burn-in-anim.scm
* plug-ins/script-fu/scripts/coffee.scm
* plug-ins/script-fu/scripts/comic-logo.scm
* plug-ins/script-fu/scripts/coolmetal-logo.scm
* plug-ins/script-fu/scripts/glossy.scm
* plug-ins/script-fu/scripts/gradient-bevel-logo.scm
* plug-ins/script-fu/scripts/gradient-example.scm
* plug-ins/script-fu/scripts/pupi-button.scm
* plug-ins/script-fu/scripts/rendermap.scm
* plug-ins/script-fu/scripts/sphere.scm
* plug-ins/script-fu/scripts/starscape-logo.scm
* plug-ins/script-fu/scripts/test-sphere.scm
* plug-ins/script-fu/scripts/textured-logo.scm
* plug-ins/script-fu/scripts/title-header.scm
* plug-ins/script-fu/scripts/weave.scm: pass "reverse" to
gimp_blend(). Pass FALSE in most cases and added script
parameters were it makes sense.
2003-05-26 Michael Natterer <mitch@gimp.org>
* app/base/tile-manager-private.h: added "gint ref_count" to the
TileManager struct.
* app/base/tile-manager.[ch]: replaced tile_manager_destroy()
by tile_manager_ref() and tile_manager_unref().
* app/core/gimpimage-undo-push.c: ref the tile managers stored in
the undo system and DON'T destroy them if no undo could be pushed.
Should fix the remaining crashes with undo disabled like in
bug #9350.
(!!!) Note that the tiles passed to gimp_image_undo_push_image()
and gimp_drawable_push_undo() as well as the tile managers of
drawables passed to gimp_image_undo_push_[layer|channel]_mod()
must be unref'ed by the caller now.
* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste):
don't take ownership of the passed tiles but ref them if needed.
(!!!) Callers must unref the passed tiles themselves now.
* app/core/gimpbuffer.c
* app/core/gimpdrawable-blend.c
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpdrawable-offset.c
* app/core/gimpdrawable.c
* app/core/gimpedit.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-mask.c
* app/core/gimpimage-projection.c
* app/core/gimpimage.c
* app/core/gimpimagemap.c
* app/core/gimplayer-floating-sel.c
* app/core/gimplayer.c
* app/paint/gimppaintcore.c
* app/text/gimptextlayer.c
* app/tools/gimpinktool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimptransformtool-undo.c
* app/tools/gimptransformtool.c: changed accordingly.
2003-05-05 Pedro Gimeno <pggimeno@wanadoo.es>
* app/core/gimpdrawable-blend.c: Cleanups.
(gradient_calc_linear_factor): Apply the gradient to both sides
when Repeat is set to Sawtooth Wave. Fixes bug #112106.
* app/core/gimpdrawable-transform.c
(gimp_drawable_transform_tiles_affine): Fix copy'n'paste slip in
coordinates calculation for supersampling code. Transform the
pixel centers properly. Fixes bug #10466.
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_rectangle,
gimp_draw_tool_draw_arc): Ported the fix for bug #17904 from the
STABLE branch (off-by-one when drawing the rectangle/ellipse
previews).
* app/tools/gimpeditselectiontool.c: Renamed
gimp_edit_selection_tool_snap to
gimp_edit_selection_tool_calc_coords, as it is no longer used for
snapping.
(gimp_edit_selection_tool_calc_coords): Use floor instead of
rounding. Callers changed to remove rounding, as it deals with
gdoubles directly. Thanks to Mitch for the help refining this
one. Fixes bug #17906.
2003-03-25 Sven Neumann <sven@gimp.org>
* Makefile.am
* gimpintl.h: removed this header file.
* gimpmiscui.c: include libgimp-intl.h.
* gimp.c (gimp_main): call setlocale() and bind to the libgimp
textdomain so that plug-ins don't need to do that explicitely.
* libgimp/stdplugins-intl.h: added the functionality that used to
live in gimpintl.h and removed the libgimp related stuff. Got rid
of the INIT_I18N_UI() macro.
* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
Plug-ins simply call INIT_I18N() once in their run() function.
* plug-ins/script-fu/script-fu-intl.h: added the functionality
that used to live in gimpintl.h and removed the libgimp related
stuff.
* app/Makefile.am
* app/gimp-intl.h: new file that defines the gettext macros for
the GIMP core.
* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.
* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2002-03-03 Michael Natterer <mitch@gimp.org>
Use gdouble in a [0.0..1.0] range for opacity values in the whole
core's API. Convert them using (opacity * 255.999) when passing
them to base/ and paint-funcs/
Affected functions:
* app/core/gimpchannel.[ch]: gimp_channel_[set|get]_opacity()
* app/core/gimpimage.[ch]: gimp_image_[apply|replace]_image()
* app/paint/gimppaintcore.[ch]: gimp_paint_core_[paste|replace]_canvas()
* app/core/core-types.h: added defines GIMP_OPACITY_TRANSPARENT
and GIMP_OPACITY_OPAQUE, just like the ones from
paint-funcs/paint-funcs-types.h
* app/gimprc.c
* app/image_map.c
* app/core/gimpcontext.c
* app/core/gimpdrawable-blend.c
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpdrawable.c
* app/core/gimpedit.c
* app/core/gimplayer.c
* app/core/gimplayer-floating-sel.c
* app/core/gimppalette.c
* app/paint/gimpairbrush.c
* app/paint/gimpclone.c
* app/paint/gimpconvolve.c
* app/paint/gimpdodgeburn.c
* app/paint/gimperaser.c
* app/paint/gimppaintbrush.c
* app/paint/gimpsmudge.c
* app/tools/gimpinktool.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimplayerlistitem.c
* app/widgets/gimppreview.c
* app/xcf/xcf-load.c: changed accordingly, use the new constants.
2001-12-03 Sven Neumann <sven@gimp.org>
Michael Natterer <mitch@gimp.org>
* app/paint-funcs/paint-funcs-mmx.h: removed redefiniton of HAS_ALPHA
macro.
* app/core/gimp.c: reverted Daniel's change; it doesn't make the code
simpler, only more error-prone.
* app/gui/info-dialog.h
* app/gui/resize-dialog.h
* app/core/gimp.h
* app/core/gimpbrushgenerated.h
* app/core/gimpbrushpipe.h
* app/core/gimpchannel.[ch]
* app/core/gimpcontainer.h
* app/core/gimpcoreconfig.h
* app/core/gimpdata.h
* app/core/gimpdatafactory.[ch]
* app/core/gimpdrawable-blend.c
* app/core/gimpdrawable.[ch]
* app/core/gimpimage.h
* app/core/gimpimagefile.h
* app/core/gimplayer.h
* app/core/gimplayermask.h
* app/core/gimpmoduleinfo.h
* app/core/gimppalette.h
* app/core/gimpundo.h
* app/widgets/gimpbrushfactoryview.h
* app/widgets/gimpconstrainedhwrapbox.h
* app/widgets/gimpcontainermenu.h
* app/widgets/gimpcontainerview.h
* app/widgets/gimpdialogfactory.h
* app/widgets/gimpimagedock.h
* app/widgets/gimplistitem.h
* app/widgets/gimpmenuitem.h
* app/widgets/gimpnavigationpreview.h
* app/widgets/gimppreview.h
* app/gimprc.h
* app/pathP.h
* app/tools/gimpbezierselecttool.h
* app/tools/gimpcolorbalancetool.h
* app/tools/gimpcurvestool.h
* app/tools/gimpdodgeburntool.c
* app/tools/gimpfreeselecttool.h
* app/tools/gimphuesaturationtool.h
* app/tools/gimpinktool-blob.h
* app/tools/gimpinktool.h
* app/tools/gimpiscissorstool.h
* app/tools/gimpmagnifytool.h
* app/tools/gimpmeasuretool.h
* app/tools/gimppainttool.h
* app/tools/gimppathtool.h
* app/tools/gimprectselecttool.h
* app/tools/gimpthresholdtool.h
* app/tools/gimptool.h
* app/tools/gimptransformtool.h
* app/base/base-config.h
* app/base/gimplut.[ch]
* app/base/pixel-region.h
* app/base/pixel-surround.[ch]
* app/base/temp-buf.[ch]
* app/base/tile-manager-private.h
* app/base/tile-manager.[ch]
* app/base/tile-private.h
* app/base/tile.[ch]
* app/display/gimpdisplay.h
* app/display/gimpdisplayshell-selection.h
* app/display/gimpdisplayshell.h
* app/gui/brush-select.h
* app/gui/gradient-editor.h
* app/gui/gradient-select.h: reverted most of Daniel's changes.
There's no reason to use unsigned integers here and in lots of places
it is even wrong.
Then it's way too early to convert gbooleans into bitfields. This
change may make sense in a few places but can happen later when the
API has settled and the code is more stable.
* app/gimprc.c: reverted Daniel's change. This is a GCC-ism and this
code is about to die soon anyway.
2001-11-15 Michael Natterer <mitch@gimp.org>
Gimp's opacity values are a pain... the core actually *should*
only accept and expose values in a [0.0..1.0] range.
* app/core/gimpdrawable-blend.c
* app/core/gimpdrawable-bucket-fill.c: take 0.0 <= opacity <= 1.0,
*not* 0.0 < opacity <= 100.0.
* app/tools/gimpblendtool.c: don't (opacity * 100.0) before passing.
* tools/pdbgen/pdb/tools.pdb: (opacity / 100.0) before passing.
* app/display/gimpdisplayshell-dnd.c: paint_mode and opacity were
swapped in the call to gimp_drawable_bucket_fill_full().
* app/pdb/tools_cmds.c: regenerated.
2001-11-09 Michael Natterer <mitch@gimp.org>
* app/undo.c: should set the fs.backing_store TileManager pointer
to NULL after deleting it. Why the heck didn't this crash
before...?
* app/core/Makefile.am
* app/core/gimpdrawable-blend.[ch]: the blend stuff taken from
the blend tool.
* app/core/core-types.h: added the blend enums.
* app/tools/gimpblendtool.[ch]: removed the stuff here.
* tools/pdbgen/pdb/tools.pdb: changed blend wrapper accordingly.
* app/pdb/tools_cmds.c: regenerated.
* tools/pdbgen/Makefile.am: don't scan tools/gimpblendtool.c.
* tools/pdbgen/enums.pl: regenerated.
* app/tools/gimpbucketfilltool.c: fixed crash caused by my last
change.
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.c: removed lots of uglyness by
using GtkImages for the qmask and navigation buttons. Don't realize
anything before the shell is shown. Connect the realize
callback and do stuff there. Don't call the realize callback
from gimp_display_shell_canvas_events() any more.
* pixmaps/navbutton.xpm
* pixmaps/qmasknosel.xpm
* pixmaps/qmasksel.xpm: removed.
* themes/Default/Makefile.am
* themes/Default/images/Makefile.am
* themes/Default/images/stock-menu-navigation.png
* themes/Default/images/stock-menu-qmask-off.png
* themes/Default/images/stock-menu-qmask-on.png: new PNGs instead.
* libgimpwidgets/gimpstock.[ch]: register them as stock icons.
2001-11-08 Michael Natterer <mitch@gimp.org>
* app/Makefile.am: build display/ before tools/.
* app/devices.c: devices_check_change(): added all events
which have a GdkDevice pointer.
* app/gimpprogress.c: include "display-types.h" instead of
"core-types.h".
* app/core/Makefile.am
* app/core/gimpdrawable-bucket-fill.[ch]: new files: the bucket_fill
stuff taken from tools/gimpbucketfilltool.[ch].
* app/core/core-types.h: added "BucketFillMode".
* app/core/gimpimage-mask-select.[ch]: cleanup.
* app/core/gimpmarshal.list: added more marshallers for GimpTool's
new signal signatures.
* app/core/gimpmarshal.[ch]: regenerated.
* app/display/Makefile.am
* app/display/gimpdisplayshell-dnd.[ch]
* app/display/gimpdisplayshell-layer-select.[ch]: new files: the
canvas drop callbacks from gimpdisplayshell-callbacks.[ch] and
the stuff formerly knows as gui/layer-select.[ch].
* app/display/gimpdisplay.h: don't include "gui/gui-types.h".
* app/display/gximage.c: include "display-types.h".
* app/display/gimpdisplay-foreach.c
* app/display/gimpdisplayshell.[ch]: call gdsplay_delete(), don't
destroy the shell widget.
* app/gui/Makefile.am
* app/gui/layer-select.[ch]: removed.
* app/gui/gradients-commands.c: fixed "Save as POV" fprintf()s.
* app/gui/preferences-dialog.c: removed the layer_select stuff
because it is useless with the new preview system.
* app/gui/tool-options-dialog.c: send the correct data to the
close_callback.
* app/gui/tools-commands.c: changed to follow the new
gimp_tool_initialize() semantics (see below).
Tool & canvas event handling chainsawing:
* app/tools/tools-types.h: new struct GimpCoords which contains
x, y, pressure, tilt etc.
* app/display/gimpdisplayshell-callbacks.[ch]: added utility
functions which transparently retreive the current event's
GimpCoords or take it from the device directly if the event has
none. Pass GimpCoords _in_image_coordinates_ to all tool
functions.
Most important: don't pass GdkEvents and display coordinates to
tools any more.
* app/tools/gimptool.[ch]: changed virtual functions to take
GimpCoords, time and state separately instead of GdkEvents.
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbucketfilltool.[ch]
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.[ch]
* app/tools/gimpcurvestool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimpdrawtool.c
* app/tools/gimpeditselectiontool.[ch]
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimpfreeselecttool.[ch]
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimpinktool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimppathtool.[ch]
* app/tools/gimprectselecttool.c
* app/tools/gimprotatetool.c
* app/tools/gimpselectiontool.[ch]
* app/tools/gimpsmudgetool.c
* app/tools/gimptexttool.c
* app/tools/gimptransformtool.[ch]
* app/tools/path_tool.[ch]
* app/tools/selection_options.c: tons and tons of changes:
- changed to use the new virtual function parameters.
- removed zillions of gdisplay_untransform_coords().
- get the active drawable's offsets manually in many cases.
(questionable, but IMHO ok because it's obvious and not simply a
"TRUE" passed to some function)
- reordered some functions to be consistent across tools.
- some tools had to be changed to work on image coords, not
display ones (esp. crop).
- fixed strange rotate tool behaviour which should be backported
to stable.
- some stuff i came across.
- indentation and other paranoia.
- rounding of coordinated may be broken in some tools.
- new bugs guaranteed.
* app/tools/tool_manager.[ch]: new semantic of
tool_manager_initialize_active() (looked at the places where it
was used from and put common code together). Should be a bit
better now :)
* app/tools/gimpblendtool.c
* app/tools/transform_options.c: use the new GTK+ feature that a
widget (toggle button) can be a frame's title for this tools' tool
options.
* app/widgets/widgets-types.h: stuff.
* themes/Default/gtkrc: s/GtkDialog/GimpDialog/.
* tools/pdbgen/Makefile.am: don't scan tools/gimpbucketfilltool.h
any more.
* tools/pdbgen/enums.pl: regenerated.
* tools/pdbgen/pdb/tools.pdb: changed bucket_fill wrapper.
* app/pdb/tools_cmds.c: regenerated.
2001-10-29 Michael Natterer <mitch@gimp.org>
Cleanup weekend...
* app/app_procs.c: pass "no_interface" to gimp_new().
* app/core/gimp.[ch]: added "gboolean no_interface" and the
load_procs and save_procs GSLists.
* app/core/gimptoolinfo.[ch]: added a "Gimp" pointer to the
GimpToolInfo object so more functions find their context without
accessing the global "the_gimp" variable.
* app/display/display-types.h: removed the GDisplay -> GimpDisplay
typedef.
* app/display/gimpdisplay.c: look at gimp->no_interface, don't
include "appenv.h".
* app/file/file-open.[ch]
* app/file/file-save.[ch]: don't use "the_gimp" any more. Instead,
pass around lots of "Gimp" pointers. Removed the global load_procs
and save_procs variables here. Use access() to find out whether a
file is readable/writable, removed the manual voodoo and it's
Win32 wrappers. Added an optional (can be NULL) "PlunInProcDef"
parameter to file_save(), removed file_save_with_proc().
* app/gui/menus.c: Use the unused "gpointer data" parameter of the
GtkItemFactory callbacks to pass a "Gimp" pointer to all of them.
This reduces the usage of the global "the_gimp" hack to zero
in app/gui/... yeah.
* app/gui/channels-commands.c
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/image-commands.c
* app/gui/layers-commands.c
* app/gui/palettes-commands.c
* app/gui/select-commands.c
* app/gui/test-commands.c
* app/gui/tools-commands.c
* app/gui/view-commands.c: use the passed "Gimp" pointer.
* app/gui/color-area.[ch]
* app/gui/convert-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/file-new-dialog.[ch]
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.[ch]
* app/gui/gui.c
* app/gui/info-window.[ch]
* app/gui/module-browser.[ch]
* app/gui/palette-editor.c
* app/gui/palette-import-dialog.[ch]
* app/gui/paths-dialog.c
* app/gui/preferences-dialog.[ch]
* app/gui/resize-dialog.[ch]
* app/gui/tool-options-dialog.[ch]
* app/gui/toolbox.c: pass around lots more "Gimp" and
"GimpContext" pointers and don't use "the_gimp" any more.
* app/tools/gimptool.h: added a pointer to the corresponding
GimpToolInfo object (which in turn has a pointer to a Gimp).
* app/tools/tool_manager.[ch]: set the pointer after creating the
tool object. Removed tool_manager_get_info_by_tool() as there is a
tool->tool_info pointer now.
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimpdrawtool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpinktool.c
* app/tools/gimplevelstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimppathtool.c
* app/tools/gimpperspectivetool.c
* app/tools/gimpposterizetool.c
* app/tools/gimprectselecttool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c
* app/tools/gimptexttool.c
* app/tools/gimpthresholdtool.c
* app/tools/path_tool.c
* app/tools/xinput_airbrush.c: s/GDisplay/GimpDisplay/g.
Use tool->tool_info and tool_info->gimp in some places to get
rid of using "the_gimp".
Removing the remaining ones involves changing the tool options
system and is scheduled next...
* app/widgets/gimpdnd.c
* app/widgets/gimpdocumentview.c: pass a "Gimp" pointer to all
file_open_*() functions.
* app/gdisplay_color.[ch]
* app/gdisplay_color_ui.[ch]
* app/image_map.[ch]
* app/nav_window.[ch]
* app/path.c
* app/path_bezier.c
* app/path_transform.h
* app/qmask.[ch]: s/GDisplay/GimpDisplay/g
* tools/pdbgen/pdb/fileops.pdb: load_procs and save_procs are
members of the "Gimp" object now.
* tools/pdbgen/pdb/plug_in.pdb: use gimp->no_interface, don't
include "appenv.h".
* app/pdb/fileops_cmds.c
* app/pdb/plug_in_cmds.c: regenerated.
2001-08-19 Sven Neumann <sven@gimp.org>
* app/devices.h
* app/disp_callbacks.c
* app/interface.c: applied a patch from <David.Odin@bigfoot.com> that
changes some function prototype to return gboolean instead of gint.
* app/tools/gimpblendtool.c: pixel_regions_register() and
pixel_regions_process() return a gpointer, not (gpointer *).