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.
2003-11-17 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimprgb.h (GIMP_RGB_INTENSITY): removed the
addition of 0.001 that isn't correct for use with integers (should
be 0.5 then) and just plain wrong for use with floats/doubles.
* app/base/temp-buf.c
* app/core/gimpdrawable.c
* app/core/gimpimage-convert.c
* app/core/gimpimage.c
* plug-ins/common/aa.c
* plug-ins/common/engrave.c
* plug-ins/common/gradmap.c
* plug-ins/common/newsprint.c
* plug-ins/gflare/gflare.c
* plug-ins/gfli/gfli.c
* plug-ins/pagecurl/pagecurl.c: add 0.5 to the result of
GIMP_RGB_INTENSITY() in all places that use it with integers.
2003-11-17 Sven Neumann <sven@gimp.org>
* app/main.c: unref the gimp object after dumping the
configuration as a test for Gimp::finalize.
* app/base/base.[ch]: keep a reference on the config object.
Renamed parameter "use_mmx" to "use_cpu_accel".
* app/core/gimp.[ch]: call base_init() and base_exit() from
app_procs.c, not from the Gimp object.
* app/app_procs.[ch]: renamed app_init() to app_run() since here's
where the main loop is run. Actually quit the main loop in
app_exit_after_callback() instead of just calling exit().
* app/errors.[ch]: declared fatal error handlers as G_GNUC_NORETURN.
* libgimp/gimp.h: fixed usage of G_GNUC_NORETURN.
2003-11-16 Hans Breuer <hans@breuer.org>
* app/text/*.c : still unacceptable patched to compile
without FT2, see bug #113681
* **makefile.msc : updated
* app/config/gimpconfig-dump.c : include gimpwin32-io.h
* app/plug-in/plug-ins.c : don't depend on g_print handling
%s with NULL pointers, it doesn't anymore with glib cvs at
least not on win32
* app/widgets/gimppropwidgets.c
libgimpbase/gimputils.c
libgimpwidgets/gimpmemsizeentry.c :
sorry about the mess, need to work-around a stupi not able
to cast from guint64 to double
* app/widgets/gimppropwidgets.c (gimp_prop_memsize_entry_new) :
avoid 'overflow in floating-point constant arithmetic' by disabling
an imho alays questionable g_return_val_if_fail() for _MSC_VER only
* libgimpmodule/gimpmodule.def : sorted
* libgimpwidgets/gimpfileselection.c : removed unused S_ISDIR
definition
* app/gui/themes.c : filenames in rc files need to be escaped
2003-11-01 Sven Neumann <sven@gimp.org>
* app/base/gimphistogram.c (gimp_histogram_get_mean): forgot to
also add a range check here.
* app/widgets/gimphistogrameditor.c: update the channel menu when
the image mode changes or an alpha channel is added/removed.
2003-11-01 Sven Neumann <sven@gimp.org>
Replaced the histogram tool by a histogram dialog:
* themes/Default/images/Makefile.am
* themes/Default/images/tools/stock-tool-histogram-[16|22].png:
removed here ...
* themes/Default/images/stock-histogram-[16|22].png: ,,, and added
under these new names.
* libgimpwidgets/gimpstock.[ch]: register the icons as
GIMP_STOCK_HISTOGRAM and removed the histogram tool stock icons.
* app/base/gimphistogram.c: don't crash when uncalculated values
are requested from a GimpHistogram. Allow to reset the histogram
by calling gimp_histogram_calculate() with a NULL region.
* app/widgets/gimphistogrambox.[ch]: renamed the GimpHistogramView
struct member to "view".
* app/tools/gimpthresholdtool.c: changed accordingly.
* app/widgets/gimphistogramview.[ch] (gimp_histogram_view_events):
return TRUE when events were handled.
* app/tools/Makefile.am
* app/tools/gimp-tools.c
* app/tools/gimphistogramtool.[ch]: removed the histogram tool.
* app/widgets/Makefile.am
* app/widgets/gimphelp-ids.h
* app/widgets/widgets-types.h
* app/widgets/gimphistogrameditor.[ch]: added GimpHistogramEditor.
Has some rough edges still...
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c
* app/gui/image-menu.c: register the new dialog instead of the
histogram tool.
2003-10-21 Sven Neumann <sven@gimp.org>
* base/base.c (base_init)
* app/errors.c (gimp_errors_init): moved the message about
possible debug messages to gimp_errors_init() so that it appears
before any startup debug output.
* app/app_procs.c (app_init): register a log handler for the
GimpConfig log domain.
* app/widgets/gimpwidgets-utils.c (gimp_message_box)
* app/core/gimp.c (gimp_message): added an extra newline when
sending messages to stderr. Don't output the full progname for
messages; use a simple "GIMP" like the GUI message handler does.
* app/gui/user-install-dialog.c: removed function copy_file()...
* app/config/gimpconfig-utils.[ch]: ... and added it here as
gimp_config_file_copy(). Also added utility function
gimp_config_file_backup_on_error().
* app/config/gimprc.c (gimp_rc_load): if the user gimprc can't be
parsed, create a backup and if that succeeds unlink the broken one
to cure the problem.
* app/gui/session.c: create a backup if sessionrc can't be parsed.
* config/gimpconfig-deserialize.c (gimp_config_deserialize_properties):
don't set an error when token is G_TOKEN_NONE; it should already
be set then.
2003-10-21 Sven Neumann <sven@gimp.org>
* app/base/base.c (base_init): removed the call to
cpu_accel_print_results(); should have got enough testing and
gimp-composite outputs the same info anyway.
* app/Makefile.am: link libappcomposite.a before libappbase.a.
* app/config/Makefile.am (test_config_LDADD): it's not any longer
needed to link the test against libappdisplay. and libappwidgets.a.
2003-10-16 Dave Neary <bolsh@gimp.org>
* app/base/color-balance.c
* app/base/hue-saturation.c
* app/composite/gimp-composite-generic.c
* app/paint-funcs/paint-funcs-generic.h
* app/tools/gimphuesaturationtool.c
* libgimpcolor/gimpcolorspace.[ch]: Changed all occurrences of
gimp_rgb_to_hls_int and gimp_hls_to_rgb_int to
gimp_rgb_to_hsl_int and gimp_hsl_to_rgb_int respectively. This
closes bug #124661.
2003-10-01 Simon Budig <simon@gimp.org>
* app/base/boundary.[ch]: Implemented simplify_boundary (),
which tries to reduce the number of coordinates to get
better interpolation for stroking.
The results still need tweaking.
* app/core/gimpdrawable-stroke.c: Use it.
2003-09-28 Sven Neumann <sven@gimp.org>
* app/core/gimpscanconvert.c (gimp_scan_convert_free)
(gimp_scan_convert_finish): plugged memleaks and added some sanity
checks.
* app/base/pixel-region.c
* app/core/gimpdrawable-preview.c: removed trailing whitespace.
* app/tools/gimpdrawtool.c (gimp_draw_tool_on_vectors_curve):
gimp_stroke_nearest_point_get() doesn't set cur_pos when there are
no strokes; don't use the uninitialized variable.
2003-09-05 Sven Neumann <sven@gimp.org>
* app/base/gimplut.[ch] (gimp_lut_free): free the memory allocated
for the GimpLut structure. Removed trailing whitespace.
* app/core/gimpbuffer.c: cosmetics.
* app/core/gimpedit.[ch]: let gimp_edit_cut() and gimp_edit_copy()
return a pointer to the global cut buffer instead of creating a
GimpBuffer which was leaked by most callers.
* app/gui/edit-commands.c: changed accordingly.
* libgimpwidgets/gimpquerybox.[ch] (string_query_box_ok_callback):
removed a superfluous g_strdup(); made GimpQueryStringCallback take
a const gchar* pointer.
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/palettes-commands.c: changed accordingly.
2003-09-04 Manish Singh <yosh@gimp.org>
* app/base/cpu-accel.[ch]: rewrote the x86 tests, moved debug printout
from base.c to here.
* test-cpu-accel.c: simple test program to test the above.
* app/base/base.c: use cpu_accel_print_results ()
* app/base/Makefile.am: added test-cpu-accel to TESTS.
* data/Makefile.am: make site local font directory on install.
2003-08-25 Sven Neumann <sven@gimp.org>
Fixed some issues with the PDB thumbnail functions spotted by
Wolfgang Hofer and loosely based on patches he provided:
* tools/pdbgen/pdb/fileops.pdb (file_load_thumbnail): keep a
reference on the GimpImagefile as long as we need the associated
preview temp_buf. Call gimp_imagefile_update() before requesting
the preview.
* app/pdb/fileops_cmds.c: regenerated.
* app/base/temp-buf.c (temp_buf_new_check): use a checkerboard
algorithm similar to the one the displayshell-render code uses.
* app/composite/gimp-composite-dispatch.[ch]: retired and removed.
* app/composite/Makefile.am: The 'test' target now builds and runs
all the tests in TESTS
Fixed typos of mismatched parenthesis in 'regenerate' target
* app/composite/Makefile.am: TESTS now include ss2 and 3dnow
instruction sets.
* app/composite/make-gimp-composite-dispatch.py: retired and removed.
* app/composite/gimp-composite.c: call the installers of all the
various instruction sets supplied by x86 type processors.
* app/base/base.c (base_init): Call gimp_composite_init() *before*
paint_funcs_setup() (preparation for retiring
app/paint-funcs/paint-funcs.c)
* app/composite/gimp-composite-sse2.[ch]
* app/composite/gimp-composite-3dnow.[ch]
* app/composite/gimp-composite-sse2-installer.c
* app/composite/gimp-composite-3dnow-installer.c:
Added
* app/composite/make-installer.py: generate regression test
programmes that take the command line arguments --iterations and
--n-pixels for the number of iterations of a set of tests, and the
number of pixels to use in each test, respectively.
Conditionally compile tests in order to build and run tests on
machines that can actually perform the tests.
Failing a regression test now causes remaining tests to be
skipped and a non-zero exit code by the programme.
2003-08-17 Sven Neumann <sven@gimp.org>
* app/base/base.c (base_init): added some newlines.
* data/patterns/brick.pat
* data/patterns/leopard.pat: replaced with retouched versions done
by Guillermo S. Romero (bug #118796).
2003-08-14 Tor Lillqvist <tml@iki.fi>
* app/base/base.c (base_init): If a development version (odd
GIMP_MINOR_VERSION), print a warning that debug messages may
appear. Only print the CPU acceleration messages on
development versions. On Win32, tell people not to close the
console window. (#119786)
2003-07-26 Hans Breuer <hans@breuer.org>
* libgimp/gimpcompat.h : renamed GimpOrientationType
with Compat postfix to avoid name clashing when using
this header together with libgimp/gimpenums.h
* app/composite/makefile.msc : (new file)
**/makefile.msc : updated
* libgimp/gimp.c : use static defined _tile<widht|height>
in this file instead of function call
* libgimp/gimp.def libgimp/libgimpui.def : moved from former
to latter : gimp_<brush|font|gradient|pattern>_select_<new|destroy>
added to former gimp_<brushes|gradients|patterns>_popup
* app/paint/gimppaintcore.h : removed double semicolon
which gave msvc error C2059: syntax error : ';'
* libgimpbase/gimpwin32-io.h : (new file) compatibilty defines
which were spread over multiple files to make up mostly for
missing unistd.h
* app/base/tile-swap.c app/core/gimpimagefile.c
libgimpbase/gimpdatafiles.c
plug-ins/FractalExplorer/FractalExplorer.c : use new header
* plug-ins/gflare/gflare.c
plug-ins/flame/flame.c
plug-ins/FractalExplorer/Dialogs.c :
removed #ifdef G_OS_WIN32 special casing, not needed anymore
due to g_file_test() usage
* app/text/*.* : changes required for build with PangoWin32,
but not commited ...
2003-07-14 Sven Neumann <sven@gimp.org>
* app/base/base.c (base_init): include composite/gimp-composite.h.
* app/paint-funcs/paint-funcs.c: enforce GIMP coding style on the
code that Helvetix added.
app/paint-funcs/paint-funcs.c stubbed out code for using
gimp_composite. To enable the use of gimp_composite, set the
value of gimp_composite_use_old to 0 (zero).
app/base/base.c calls gimp_composite_init() hook to initialse
all the gimp_composite "stuff."
app/composite/make-gimp-composite-dispatch.py now generates
gimp-composite-dispatch.h
app/composite/gimp-composite-dispatch.[ch] are in CVS although
they are generated files. This is preparation for building the
table at run-time, instead of compile time.
app/composite/gimp-composite.c doesn't #include the main
dispatch table. This is preparation for building the table at
run-time, instead of compile time.
app/composite/Makefile.am doesn't compile gimp-composite-mmx.c
(until the various remaining gcc problems and configuration issues
are worked out).
2003-07-10 Michael Natterer <mitch@gimp.org>
* app/base/boundary.[ch]: added "guchar threshold" parameters all
over the place instead of always using 127. Made the HALF_WAY
#define public.
(find_empty_segs): don't crash if PR->tiles is NULL but treat
PR->data as the entire buffer so the function can be used on
PixelRegions of TempBufs.
* app/core/gimpchannel.c
* app/core/gimplayer-floating-sel.c
* app/tools/gimpfuzzyselecttool.c: pass HALF_WAY to
find_mask_boundary().
2003-07-04 Sven Neumann <sven@gimp.org>
* configure.in: redone target platform detection and MMX assembly
checks. Basically copied from DirectFB.
* app/Makefile.am
* app/arch/i386/mmx/detect_mmx.S
* app/arch/i386/mmx/paint_funcs_mmx.S
* app/paint-funcs/Makefile.am
* app/paint-funcs/paint-funcs-mmx.h
* app/paint-funcs/paint-funcs-simd.S: removed the old MMX routines.
New ones will come instead.
* app/base/Makefile.am
* app/base/detect-mmx.[Sh]: removed these two files...
* app/base/cpu-accel.[ch]: ... and added new ones that do more
fine-grained cpu acceleration detection. Again taken from DirectFB
but the code is originally from mpeg2dec.
* app/base/base.c: print results from cpu feature tests.
2003-07-01 Sven Neumann <sven@gimp.org>
* app/base/base-enums.h
* app/paint/paint-enums.h
* app/tools/tools-enums.h: use /*< pdb-skip, skip >*/, updated the
comment that explains how to use the trigraph sequences.
* app/tools/tools-enums.c: regenerated.
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-20 Michael Natterer <mitch@gimp.org>
Some color API cleanup:
* libgimpcolor/gimpcolortypes.h: added struct GimpHSL. All values
are doubles in a [0.0..1.0] range.
* libgimpcolor/gimpcolorspace.[ch]: changed the GimpRGB <-> HSL
functions to use the new struct instead of separate hue, saturation
and lightness doubles. Note that the hue range has changed from
[0.0..360.0] to [0.0..1.0].
* app/base/colorize.c (colorize_calculate)
* plug-ins/common/AlienMap2.c (transform): changed accordingly.
2003-05-19 Michael Natterer <mitch@gimp.org>
* libgimpcolor/gimpcolorspace.c (gimp_hsl_to_rgb): fixed to work
like gimp_hls_to_rgb_int() (does the right thing now for the
saturation == 0 case). Some minor cleanups.
Implemented "Colorize" as suggested in bug #20509. It's not a
toggle in the "Hue/Saturation" tool dialog (which would be a gross
hack IMHO) but a separate tool. Fixes bug #20509.
* app/base/Makefile.am
* app/base/base-types.h
* app/base/colorize.[ch]: the actual mapping function lives
here. Its algorithm was taken from the "colorify" plug-in.
* app/tools/Makefile.am
* app/tools/gimpcolorizetool.[ch]: the tool.
* app/tools/tools.c: register it.
* app/gui/dialogs.c: session-manage its dialog.
* libgimpwidgets/gimpstock.[ch]
* themes/Default/images/Makefile.am
* themes/Default/images/tools/stock-tool-colorize-16.png
* themes/Default/images/tools/stock-tool-colorize-22.png: new
icons from Jimmac.
Unrelated:
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: don't #include "tool_manager.h"
2003-05-15 Sven Neumann <sven@gimp.org>
* app/base/temp-buf.c: added some sanity checks to temp_buf
conversion routines.
* tools/pdbgen/pdb/fileops.pdb (file_load_thumbnail_invoker): use
GimpImagefile to load a thumbnail. Only works for RGB images yet.
This adresses bug #113033.
* app/pdb/fileops_cmds.c: regenerated.
* app/file/file-utils.[ch]: removed file_utils_readXVThumb(). It
is not needed any longer since GimpImagefile also handles the
old-style .xvpics.
* plug-ins/script-fu/scripts/copy-visible.scm: fixed typo.
2003-04-04 Sven Neumann <sven@gimp.org>
Applied a patch from Øyvind Kolås that adds supersampling to the
transform operations (bug #109817):
* app/base/tile-manager-private.h
* app/base/tile-manager.[ch]: cache the last accessed tile and use
it to optimize read_pixel_data_1().
* app/core/gimpdrawable-transform-utils.c
* app/core/gimpdrawable-transform.c: changed the resampling
behavior when scaling down.
2003-03-25 Sven Neumann <sven@gimp.org>
* app/text/gimptext.c: include locale.h for setlocale().
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/widgets/Makefile.am: changed rules that generate enums code
to include gimp-intl.h instead of libgimp-intl.h.
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/*.pdb: include gimp-intl.h.
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.
2003-03-16 Sven Neumann <sven@gimp.org>
* configure.in: check for gdk-pixbuf-csource and allow to override
it by setting the GDK_PIXBUF_CSOURCE environment variable.
* themes/Default/images/Makefile.am: use the gdk-pixbuf-csource
executable that was found at configure time.
* app/base/levels.c: cosmetic change.
* app/tools/gimplevelstool.c: allow to pick white, gray and black
point for all channels. Allows for easy white-point balancing.
* plug-ins/script-fu/scripts/3dTruchet.scm: restore the foreground
color when the script is done (see bug #108473).
2003-03-15 Sven Neumann <sven@gimp.org>
* app/base/levels.c (levels_adjust_by_colors): implemented this
function which used to be a an empty stub.
* app/tools/gimplevelstool.c: implemented the missing
functionality behind the color picker buttons I added some time
ago.