* app/core/gimpbrush.c: don't ask for preview with
zero width or height, fixes bug #162232.
* app/base/brush-scale.c: remove tabs and trailing
whitespace.
2004-12-12 Sven Neumann <sven@gimp.org>
* app/base/tile-manager-crop.c: removed trailing whitespace.
* plug-ins/imagemap/imap_selection.c: need to define
GTK_DISABLE_DEPRECATED for gtk_toolbar_append_space().
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-22 Sven Neumann <sven@gimp.org>
* app/app_procs.c (app_exit_after_callback): call base_exit()
before quitting the application using exit(). Fixes bug #159019.
* app/base/tile-swap.c: moved the warning about a non-empty swap
file into #ifdef GIMP_UNSTABLE ... #endif.
2004-11-11 Jay Cox <jaycox@gimp.org>
* app/base/brush-scale.c: Keep computed brush values from
overflowing with large reduction factors. Fixes bug #76228.
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>
Don't store human readable and translatable enum/flag strings in
GEnumValue's and GTypeValue's fields but attach them to their
GType using separate structs and utility functions:
* tools/gimp-mkenums: added params and perl voodoo to support
generating a second array of values, which is used by the
Makefiles below to create and register arrays of value
descriptions.
* libgimpbase/gimpbasetypes.[ch]: added API to attach/retreive
arrays of translatable strings to/from enum and flags types. Added
structs GimpEnumDesc and GimpFlagsDesc for that purpose.
* libgimpbase/gimputils.[ch]: changed existing enum utility
functions, added new ones and added a symmetric API for flags.
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/paint/Makefile.am
* app/text/Makefile.am
* app/tools/Makefile.am
* app/widgets/Makefile.am
* libgimp/Makefile.am
* libgimpbase/Makefile.am: changed *-enums.c generation rules
accordingly.
* app/base/base-enums.c
* app/core/core-enums.c
* app/display/display-enums.c
* app/paint/paint-enums.c
* app/text/text-enums.c
* app/tools/tools-enums.c
* app/widgets/widgets-enums.c
* libgimpbase/gimpbaseenums.c: regenerated.
* app/widgets/gimpenumstore.c
* app/widgets/gimpenumwidgets.c
* app/widgets/gimptemplateeditor.c
* libgimpwidgets/gimppreviewarea.c: follow the enum utility
function API changes.
2004-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-03 Sven Neumann <sven@gimp.org>
* libgimpbase/Makefile.am
* libgimpbase/gimpchecks.[ch] added gimp_checks_get_shades().
* app/base/temp-buf.c
* app/display/gimpdisplayshell-render.c
* libgimpwidgets/gimppreviewarea.c: use the new function instead
of replicating these numbers in three different places.
2004-07-28 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.h: added still unused flags type
GimpDirtyMask.
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/paint/Makefile.am
* app/text/Makefile.am
* app/tools/Makefile.am
* app/widgets/Makefile.am
* libgimpthumb/Makefile.am: changed calls to gimp-mkenums to
support GTypeFlags and to make the value arrays private to the
get_type() functions.
* app/base/base-enums.c
* app/core/core-enums.c
* app/display/display-enums.c
* app/paint/paint-enums.c
* app/text/text-enums.c
* app/tools/tools-enums.c
* app/widgets/widgets-enums.c: regenerated.
2004-07-20 Sven Neumann <sven@gimp.org>
* app/app_procs.c
* app/base/base.[ch]
* app/composite/gimp-composite.[ch]: pass "be_verbose" to the base
and composite subsystems.
2004-07-19 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpwin32-io.h: added copyright header, added
#defines for access(), F_OK, R_OK and X_OK.
* app/core/gimpdata.c: include the above instead of defining
the workarounds here.
* app/base/tile-swap.c
* app/config/gimpconfig-dump.c
* libgimpthumb/gimpthumb-utils.c
* libgimpthumb/gimpthumbnail.c: for consistency, #include
gimpwin32-io.h with "" instead of <>.
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-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-13 Manish Singh <yosh@gimp.org>
* app/base/cpu-accel.c: Reorged, to address bug #142907 and
bug #143069. Accel implementations #define HAVE_ACCEL, and cpu_accel()
keys on that. Both PPC and X86 implementations check for __GNUC__.
X86 stuff is only used with USE_MMX is defined. The SSE OS check
is now checked in arch_accel(), not cpu_accel(). Finally, the
arch x86_64 checks now are EM64T aware (which didn't matter in
practice).
2004-06-13 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs.c (shapeburst_region): don't call
tile_ewidth() three times from the inner loop.
* app/base/tile-manager.c (tile_manager_get): don't call
tile_size() twice on the same tile.
* app/base/tile-private.h: added tile_size_inline(), an inline
version of the tile_size() function.
* app/base/tile-cache.c
* app/base/tile-manager.c
* app/base/tile-swap.c
* app/base/tile.c: use tile_size_inline() from inside the tile
subsystem.
2004-03-15 Simon Budig <simon@gimp.org>
* app/base/tile-swap.[ch]: Applied a modified version of a patch
from Raphaël, that implements a test if a swap file can be
created. Also make the failure message more verbose.
* app/base/base.[ch]: extend base_init() with a boolean return
to indicate if the test to create a swap file was OK.
* app/app_procs.c: Display a warning message at startup when the
test fails.
Fixes bug #64835.
22004-03-13 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs.c: use g_printerr() for debug output.
* app/base/tile-manager.c: cleaned up stone-old debug output.
2004-03-10 Simon Budig <simon@gimp.org>
* app/base/cpu-accel.c
* app/display/gimpdisplayshell-dnd.c
* app/tools/gimpvectortool.c
* app/vectors/gimpbezierstroke.c
* app/vectors/gimpvectors-import.c: Removed, disabled or
conditionalized some debug output.
There still is debug output when pushing/popping the move tool
via space bar. Mitch wanted to look at that.
2004-02-18 Sven Neumann <sven@gimp.org>
* tile-cache.c
* tile-private.h
* tile.[ch]: removed trailing whitespace, added some newlines,
let tile_is_valid() return a gboolean instead of a gint.
* app/core/gimpimage-projection.c
* app/core/gimpimage-undo-push.c
* app/paint/gimppaintcore.c
* app/tools/gimpinktool.c: use the return value from tile_is_valid()
as a boolean.
2004-02-18 Sven Neumann <sven@gimp.org>
* app/base/tile.h: exchanged TILEROWHINT_UNKNOWN and
TILEROWHINT_BROKEN so that TILEROWHINT_UNKNOWN becomes 0. This
allows to use calloc() to allocate and initialize the rowhint
array.
* app/base/tile.c (tile_sanitize_rowhints): reimplemented with by
a call to g_new0().
* app/base/tile-manager.c (tile_manager_get): use g_memdup() to
duplicate the rowhints when creating a tile copy.
2004-02-18 Michael Natterer <mitch@gimp.org>
Some code review:
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c: removed obsolete code which
made sure serialize_property()/deserialize_property() are only
called for properties of the correct class. We do it the right way
for quite a while now and clear the inherited function pointers in
gimp_config_iface_base_init().
* app/config/gimprc.c (gimp_rc_dispose): don't forget to chain up.
* app/base/gimplut.c
* app/base/lut-funcs.c
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c
* app/config/gimpconfig-types.c
* app/config/gimprc.c
* app/core/gimp-modules.c
* app/core/gimpbrush.c
* app/core/gimpcontainer.c
* app/core/gimpdocumentlist.c
* app/core/gimpitem.c
* app/gui/about-dialog.c
* app/gui/color-notebook.c
* app/gui/gui.c
* app/gui/tips-dialog.c
* app/paint/gimppaintcore.c
* app/paint-funcs/paint-funcs.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainermenuimpl.c
* app/widgets/gimpselectioneditor.c: removed I/O includes from
files which don't use lowlevel APIs any more. Also removes
a whole bunch of G_OS_WIN32 special casing. Removed trailing
whitespace. Misc tiny cleanups.
2004-02-13 Manish Singh <yosh@gimp.org>
* app/base/temp-buf.c (temp_buf_get_memsize)
* core/gimpviewable.c (gimp_viewable_get_memsize): Add some casts
to gsize for ints to prevent overflows.
* app/base/tile-manager.c (tile_manager_get_memsize): Same as above,
except cast to gint64.
2004-02-10 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am: added a rule to create a
header containing a warning pixbuf that we can use from the core.
* app/base/temp-buf.c (temp_buf_new): rewritten an optimisation so
that it works for any number of bytes per pixel.
2004-02-07 Hans Breuer <hans@breuer.org>
* gimpdefs.msc : new file to keep common definitions for the msc build
* **/makefile.msc : use common defintions, e.g. GIMP_VER
* Makefile.am : add the former to EXTRA_DIST
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.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-12 Michael Natterer <mitch@gimp.org>
* app/base/gimphistogram.c (gimp_histogram_calculate_sub_region):
advance the source pointer by 4, not 3 bytes for regions with
4 bytes (ouch). Cosmetics.
2004-01-07 Simon Budig <simon@gimp.org>
* app/base/curves.c: copy the positions of the control points
for a smooth curve into the lookup table, after the points
inbetween have been interpolated. This ensures that the
positions of the control points always get respected.
Fixes bug #35335.
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.
2003-12-26 Dave Neary <bolsh@gimp.org>
* app/base/levels.c: Modify behaviour of levels tool to
conserve lightness when using the grey-point color-picker.
2003-12-09 Michael Natterer <mitch@gimp.org>
* app/base/tile-manager.c (tile_manager_get_memsize): return a
more exact result.
* app/core/gimpimage-scale.[ch] (gimp_image_scale_check): estimate
the new memsize by separating parts of the image that are constant
from parts that will scale. Also take undo logic into account.
Return the estimated new memsize since it's not trivial to
calculate.
* app/gui/image-commands.c (image_scale_callback): use the memsize
returned by gimp_image_scale_check() for the warning message. Free
allocated strings.
* app/composite/gimp-composite.c:
* app/composite/gimp-composite.h:
* app/main.c:
* app/base/base.c:
Changed the existing command line option, --no-mmx to
--no-cpu-accel and propogated the changes necessary to use that
flag to turn OFF the use of CPU extensions using only the generic
implementations in app/composite/gimp-composite-generic.c
Nota Bene: All of the previous gimp 1.2 code is still available
and is is enabled by setting the GIMP_COMPOSITE environment
variable to zero (GIMP_COMPOSITE=0x0). This causes only the 1.2
code to be used and is helpful for regression testing of the newer
gimp-composite code. Whether using the new code, or the old code
there should be absolutely no visible differences.
The newly renamed option --no-cpu-accel retains its previous
semantic meaning with the old 1.2 code--turning OFF MMX
optimisations.
2003-11-18 Michael Natterer <mitch@gimp.org>
* app/base/colorize.[ch]: changed the range of the "lightness"
parameter to [-100..+100], where -100 results in pure black and
+100 in pure white. Default to lightness == 0 so the initial
transform changes just the colors while keeping the original
lightness.
* app/tools/gimpcolorizetool.[ch]: changed accordingly. Reordered
the scales to be in HSL order.