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.
2004-12-17 Simon Budig <simon@gimp.org>
* app/tools/gimpcurvestool.c: Kill some nonsensical code that
tried to set control points in a free form curve based on the
image coordinates (huh?). Untabbified.
2004-10-22 Sven Neumann <sven@gimp.org>
* app/tools/gimpimagemaptool.[ch]
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: allow to Shift-click the Load and
Save buttons to skip the file chooser dialog and reuse the last
used filename. Fixes bug #75558.
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-07-06 Sven Neumann <sven@gimp.org>
Added an RGB histogram based on a patch by Tor Lillqvist. Fixes
bug #145401.
* app/base/base-enums.[ch]: added GIMP_HISTOGRAM_RGB, don't export
it to the PDB.
* app/base/gimphistogram.c: implemented histogram functions for
the RGB mode.
* app/base/levels.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimpcolorbar.c
* app/widgets/gimphistogrameditor.c: handle the new enum value.
* app/widgets/gimphistogramview.c: for GIMP_HISTOGRAM_RGB mode,
draw a histogram that shows the RGB channels simultaneously
2004-06-30 Michael Natterer <mitch@gimp.org>
Fixed a 1.2 -> 2.0 regression that was forgotten:
* app/widgets/widgets-enums.[ch]: added enum GimpColorPickState
which can be one of { NEW, UPDATE }.
* app/widgets/gimppaletteeditor.[ch]: changed #if 0'ed function
gimp_palette_editor_update_color() to
gimp_palette_editor_pick_color() and restored the functionality of
creating/updating colors via this API
Changed button_press handler to only edit the color on double
click if it's really a double click on the same color.
Fixes bug #141381.
* app/tools/gimpcolorpickeroptions.[ch]: added boolean property
"add-to-palette" and a GUI for it.
* app/core/gimpmarshal.list
* app/tools/gimpcolortool.[ch]: added a GimpColorPickState
parameter to the "color_picked" signal. Pass NEW on button_press
and UPDATE on motion.
* app/tools/gimpcurvestool.c (gimp_curves_tool_color_picked)
* app/tools/gimplevelstool.c (gimp_levels_tool_color_picked)
* app/tools/gimppainttool.c (gimp_paint_tool_color_picked):
changed accordingly
* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_picked):
If "add-to-palette" is TRUE, get the palette editor and call
gimp_palette_editor_pick_color().
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 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpcurvestool.c: added Store/Recall buttons for
one-click saving and loading of curves. Should create stock
labels for them. Hopefully resolves bug #75558.
2004-06-14 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.[ch]: remember the last used
GimpCursorFormat so changing the format in prefs applies
instantly, and not after the next tool change.
* app/display/gimpdisplayshell-cursor.[ch]
* app/tools/gimptool.[ch]
* app/tools/gimptoolcontrol.[ch]
* app/tools/gimpclonetool.c
* app/tools/gimpcolortool.c
* app/tools/gimpcroptool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimptransformtool.c: s/GdkCursorType/GimpCursorType/g
2004-06-13 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-enums.[ch]: added enum GimpCursorFormat
which can be one of { BITMAP, PIXBUF, PIXBUF-PREMULTIPLY } to
work around broken X servers.
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h: added GimpGuiConfig::cursor-format.
* app/gui/preferences-dialog.c: added a GUI for the new option.
* app/widgets/gimpcursor.[ch]: added cursor_format parameter
to gimp_cursor_new() and _set().
* app/display/gimpdisplayshell-cursor.c
* app/tools/gimpcurvestool.c
* app/widgets/gimpdialogfactory.c: pass an appropriate cursor_mode.
2004-05-15 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.c: fixed position of vertical line
indicating the picked color. Patch from William Skaggs and
Søren Wedel Nielsen; fixes bug #142506.
2004-04-29 Michael Natterer <mitch@gimp.org>
* app/tools/gimp*tool.c (gimp_*_tool_register): stripped the menu
paths from the "menu_path". Will be renamed to "action_name" or
something soon...
* plug-ins/dbbrowser/dbbrowser.c
* plug-ins/common/plugindetails.c
* plug-ins/common/uniteditor.c: register under the new
"Extensions" placeholder.
2004-04-20 Sven Neumann <sven@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpintstore.[ch]: added a GimpIntStore, derived
from GtkListStore, to be used by GimpIntComboBox and also by the
image and drawable menus.
* libgimpwidgets/gimpintcombobox.c: use the new GimpIntStore.
* app/widgets/gimpenumstore.[ch]: derive from GimpIntStore,
removed API that is provided by the parent class.
* app/widgets/gimpenumcombobox.[ch]: derive from GimpIntComboBox,
removed API that is provided by the parent class.
* app/gui/resize-dialog.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimpcolorframe.c
* app/widgets/gimphistogrameditor.c
* app/widgets/gimppropwidgets.c
* app/widgets/gimpstrokeeditor.c: changed accordingly.
2004-04-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimpenumstore.[ch]: avoid unnecessary casts.
* app/widgets/gimpenumcombobox.[ch]: added an API that inserts a
GtkTreeModelFilter to make items invisible. This is a kludge to
workaround bug #135875.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimphistogrameditor.c: use the new function to hide
histogram channels that are not available with the current
drawable.
2004-03-05 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/tools/gimpthresholdtool.c: added buttons to toggle the
histogram scale from the tool dialogs. Fixes bug #136227.
2004-02-25 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.[ch]: moved "shell_desc" from
GimpImageMapTool to GimpImageMapToolClass and added
"load_dialog_title" and "save_dialog_title". Create the
load/save buttons in gimp_image_map_tool_initialize() and
remember them in the GimpImageMapTool struct. Moved the
whole load/save button/dialog logic into private functions.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: changed accordingly, removed
load/save callbacks, inlined the load/save functions into
GimpImageMapTool's virtual function implementations.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorizetool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: changed accordingly.
2004-02-25 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.[ch]
* app/tools/gimpimagemapoptions.[ch]
* app/tools/gimpimagemaptool.[ch]
* app/tools/gimplevelstool.[ch]: moved the settings file dialog
that was duplicated in the curves and levels tools to the
GimpImageMapTool class. Store the last used filename in the
GimpImageMapOptions (proper fix for bug #135059).
2004-02-24 Dave Neary <bolsh@gimp.org>
* app/tools/gimpcurvestool.c: Revert to 1.2 behaviour of hiding
rather than destroying the curves load/save dialog. This makes
the last selected curve be selected when the dialog is
re-opened, and fixes bug #135059.
Also append G_DIR_SEPARATOR_S to the end of the filename we
build while creating the dialog, rather than ".".
2004-02-20 Sven Neumann <sven@gimp.org>
* app/tools/gimplevelstool.[ch]: put the color bars into an event
box and draw the sliders on the event box window.
* app/widgets/gimpcolorbar.[ch]: removed support for input events
which is no longer needed. For consistency, renamed "channel"
property to "histogram-channel".
* app/widgets/gimphistogrambox.c: changed accordingly.
* app/widgets/gimpenummenu.[ch]: added new function
gimp_enum_stock_box_set_child_padding().
* app/tools/gimpcurvestool.[ch]: let the graph widget expand with
the dialog plus some other dialog tweaks.
* app/widgets/gimphistogrameditor.c: let the channel menu shrink
as in the other dialogs.
* libgimpwidgets/gimpcolorselect.c (gimp_color_select_image_fill):
allocate temporary buffer on the stack.
2004-02-19 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.c (gimp_curves_tool_dialog): follow
some of the levels tool dialog changes for consistency.
2004-02-12 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphistogramview.c (gimp_histogram_view_button_press):
ignore double clicks so we don't grab the pointer away from the
curves dialog. Fixes bug #132356.
* app/tools/gimpcurvestool.c (curves_graph_events): ignore button
press and release events from all buttons except the first one.
2004-01-29 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.c
* app/tools/gimpinkoptions.c
* app/tools/gimplevelstool.c: removed explicit grabs. The pointer
is already implicitely grabbed while the button is pressed.
2004-01-26 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.c
* app/widgets/gimphistogramview.c: use dark_gc instead of
text_aa_gc to draw the histogram and curves grid lines. dark_gc is
slightly lighter, looks better and fixes bug #132565.
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-21 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.[ch]: added boolean return value to
GimpTool::initialize(). Returning FALSE means the tool could not
be initialized and doesn't want to receive button events.
Return TRUE from the default implementation.
* app/tools/tool_manager.[ch]: added boolean return value to
tool_manager_initialize_active(). Don't set the tool's display or
drawable if initialize() returns FALSE.
* app/display/gimpdisplayshell-callbacks.c: don't send button
events to the tool if initialize() returns FALSE.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorizetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: return FALSE for NULL and indexed
drawables.
* app/tools/gimpimagemaptool.c: always return TRUE because our
subclasses already checked if the active drawable is OK.
* app/tools/gimptransformtool.c: return FALSE for layers with
masks. Fixes bug #132089. Some random cleanups.
2004-01-19 Sven Neumann <sven@gimp.org>
* app/*/*.c: include "libgimpbase/gimpbase.h" where needed; removed
now unnecessary inclusions of "file/file-utils.h".
2004-01-19 Sven Neumann <sven@gimp.org>
* app/file/file-utils.[ch]: removed file_utils_filename_to_utf8() ...
* libgimpbase/gimputils.[ch]: ... and added it here as
gimp_filename_to_utf8(). Added some docs that promise less than
the current implementation holds so that we can change the
implementation later.
* app/*/*.c: use gimp_filename_to_utf8() where
file_utils_filenames_to_utf8() has been used before.
* libgimpbase/gimpbase.def: changed accordingly.
* configure.in: reset GIMP_INTERFACE_AGE.
2004-01-14 Tor Lillqvist <tml@iki.fi>
* app/file/file-utils.[ch]: Add new function
file_utils_filename_to_utf8(), which is to be used when converting
file names (which are kept in the on-disk encoding) to UTF-8 for
passing to GTK, or to g_print() etc.
* app/*/*.c: Call file_utils_filename_to_utf8(). Should fix most
of the warnings generated by non-UTF8 pathnames. See #130118.
* libgimpbase/gimpenv.b: Document that gimp_directory() etc return
strings in the on-disk encoding.
* libgimpmodule/gimpmodule.c: Convert filenames to UTF-8 (using
g_filename_to_utf8()) before passing to g_print().
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.
2003-12-12 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.c: use GimpHistogramOptions instead of
GimpColorOptions and connect the options to the histogram view.
2003-12-12 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphistogramview.[ch]: added a hack that allows to
render the histogram in a brighter color. Fixed initial range for
views that are not selectable.
* app/tools/gimpcurvestool.[ch]: replaced the GtkDrawingArea by a
bright GimpHistogramView and render the curves tool controls on
top of the histogram. Fixes bug #71633.