2005-09-05 Michael Natterer <mitch@gimp.org>
* app/core/gimp-edit.c: don't let named cut/copy affect the global
buffer. Fixes bug #315225. Also make "Global Buffer" translatable.
2005-09-05 Sven Neumann <sven@gimp.org>
* app/core/gimp.[ch]
* app/core/gimpimage-new.c: removed the confusing and redundant
feature of having the New Image dialog default to the size of the
global buffer. Please use Paste as New instead. Fixes bug #315106.
2005-09-04 Michael Natterer <mitch@gimp.org>
Cleaned up and fixed the order in which default tool options and
user context values are initialized, and added loading / saving of
the global user context. Fixes bug #165078.
* app/core/Makefile.am
* app/core/gimp-contexts.[ch]: new files which manage the global
contexts. Contains gimp_contexts_init/exit/load/save/clear().
* app/core/gimp.c: use the new init/exit functions instead of
implementing the stuff here.
* app/tools/gimp-tools.c: load/save/clear the user context from
here so it follows the same logic as the tool options. Reset all
tool options before loading the user context and copy the user
context's property to all tool options before loading tool
options.
* app/core/gimptoolinfo.c (gimp_tool_info_new): don't initialize
the tool options with the users context's properties. It's way too
early here and they will be overwritten later.
* app/widgets/gimpdevices.c (gimp_devices_restore): initialize all
device contexts with the user context's properties before loading
the devices and copying the active one back to the user context.
2005-09-03 Michael Natterer <mitch@gimp.org>
* app/base/pixel-region.[ch]: some general cleanup.
(pixel_region_init_temp_buf)
(pixel_region_init_data): new functions which initialize pixel
regions on TempBufs and on raw contiguous arrays of pixel data.
(pixel_region_configure): fixed a bug that has probably been there
forever: when processing contiguous (non-tiled) data, interpret
the original x and y coordinates of the region as offsets into
the data. Before this fix, the initial x and y were simply ignored
(by using them in a broken way), thus always forcing the upper
left corner of the region being the beginning of the passed data.
Lots of code was working around this problem by setting the
pixel_region's data pointer to the proper starting pixel of the
region in the middle the buffer.
* libgimp/gimppixelrgn.c: some general cleanup.
(gimp_pixel_rgn_configure): same fix as above. Fortunately, nobody
seems to know that libgimp pixel regions can be used on arrays of
data, just as core ones. Only two plug-ins were using this
feature, and they are antique and written by spencer and federico,
respectively. They both don't use offsets into the buffers and are
not affected by this change. It's highly unlikely that anybody out
there knows/uses this feature, so it can IMHO be safely changed.
* app/base/temp-buf.c
* app/core/gimpbuffer.c
* app/core/gimpdrawable-combine.c
* app/core/gimpdrawable-preview.c
* app/core/gimpimage-preview.c
* app/core/gimplayer.c
* app/paint/gimpbrushcore.c
* app/paint/gimpclone.c
* app/paint/gimpconvolve.c
* app/paint/gimpdodgeburn.c
* app/paint/gimppaintcore.c
* app/paint/gimpsmudge.c
* app/tools/gimpiscissorstool.c
* app/tools/gimppainttool.c: use the pixel_region_init_foo()
functions instead of initializing regions of TempBufs and raw data
manually. Removed lots of workarounds for the broken offset
handling. The changed places of code are much more readable now.
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-09-01 Sven Neumann <neumann@jpk.com>
* app/core/gimppalette.[ch]: reverted, it duplicates existing
functionality.
* app/core/gimppalette-import.c
(gimp_palette_import_from_indexed_image): name the colors using
their index in the colormap.
2005-08-20 Michael Natterer <mitch@gimp.org>
* app/base/boundary.[ch]: renamed puclic functions, defines and
enums to live in a proper "boundary" namespace. Cleaned up and
simplified internal code even more.
* app/core/gimpchannel.c
* app/core/gimpdrawable-stroke.c
* app/core/gimplayer-floating-sel.c
* app/paint/gimppaintcore-stroke.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimppainttool.c: changed accordingly.
2005-08-18 Sven Neumann <sven@gimp.org>
* app/core/gimptemplate.c: go back to using dpi as the default
resolution unit.
* app/core/gimp-utils.[ch]: moved the code to determine the unit
from the locale settings here as gimp_get_default_unit().
* app/dialogs/print-size-dialog.c
* app/widgets/gimpimagepropview.c: use the unit returned by the
new function to display the print size (bug #107497).
2005-08-17 Sven Neumann <sven@gimp.org>
* configure.in: check for langinfo.h and _NL_MEASUREMENT_MEASUREMENT.
* app/core/gimptemplate.c: try to determine the default unit from
the locale settings. Supposed to fix bug #107497.
2005-08-13 Manish Singh <yosh@gimp.org>
* app/core/gimpimage-preview.c (gimp_image_get_new_preview): if the
offsets of the layer are such that they are just on the border of
the image, detect that and bail instead of trying to make a
sub-preview with a 0 dimension.
2005-08-09 Michael Natterer <mitch@gimp.org>
* app/paint-funcs/paint-funcs.[ch] (extract_from_inten_pixels)
(extract_from_indexed_pixels): pass src_bytes and dest_bytes to
these functions instead of just the source's bytes and whether it
has an alpha. Honor dest_bytes when extracting instead of crashing
by always asuming that the destination has alpha.
Fixes bug #312392.
(extract_from_region): removed has_alpha paramater. pass
src->bytes and dest->bytes to above functions.
* app/core/gimpselection.c (gimp_selection_extract): changed
accordingly.
2005-08-09 Sven Neumann <sven@gimp.org>
* app/base/siox.[ch]
* app/core/gimpdrawable-foreground-extract.[ch]
* app/tools/gimpforegroundselectoptions.[ch]
* app/tools/gimpforegroundselecttool.c: renamed Granularity to
Color Sensitivity, both in the GUI and in the APIs.
2005-08-09 Sven Neumann <sven@gimp.org>
* app/core/gimplayer.c (gimp_layer_transform_color): take image
type instead of basetype of the source drawable. Handle conversion
from drawables without alpha channel.
(gimp_layer_new_from_region): handle source regions without alpha.
2005-08-08 Sven Neumann <sven@gimp.org>
* app/core/gimpscanconvert.[ch]: added the possibility to specify
a clip rectangle.
* app/base/siox.c (find_max_blob): use g_try_malloc().
2005-08-07 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-resize.c (gimp_image_resize_with_layers):
take care of sample points. Addresses bug #137776.
2005-08-06 Sven Neumann <sven@gimp.org>
* app/base/siox.[ch]: reordered parameters to match the order of
parameters in gimp_drawable_foreground_extract_siox().
* app/core/gimpdrawable-foreground-extract.c: changed accordingly.
* app/tools/gimpforegroundselectoptions.[ch]: draw slider value to
the right.
* app/tools/gimpfreeselecttool.[ch]: added
gimp_free_select_tool_select() to calls the virtual select() method.
* app/tools/gimpforegroundselecttool.[ch]: queue an idle select if
the smoothness or granularity values change in the tool options.
2005-08-06 Sven Neumann <sven@gimp.org>
* app/base/siox.[ch]
* app/core/gimpdrawable-foreground-extract.[ch]: expose all
parameters of the SIOX algorithm. Provide default values.
* app/tools/gimpforegroundselectoptions.[ch]: added properties and
user interface for all SIOX parameters.
* app/tools/gimpforegroundselecttool.c: changed accordingly.
2005-08-06 Sven Neumann <sven@gimp.org>
* plug-ins/benchmark-foreground-extract.py: pass run-mode to PDB
calls.
2005-08-06 Sven Neumann <sven@gimp.org>
* app/base/siox.c
* app/core/gimpdrawable-foreground-extract.c: moved rectangle
intersection into gimp_drawable_foreground_extract().
2005-08-06 Sven Neumann <sven@gimp.org>
* app/core/gimpscanconvert.[ch]: added gimp_scan_convert_compose(),
an alternative to gimp_scan_convert_render() that allows to compose
strokes on a drawable.
* app/tools/gimpforegroundselecttool.c: use the new function to
get rid of temporary channels for applying the strokes. Also fixed
calculation of stroke width from display scale.
2005-08-06 Sven Neumann <sven@gimp.org>
* app/batch.c: canonicalize hardcoded procedure names.
* app/base/siox.[ch]
* app/core/gimpdrawable-foreground-extract.[ch]
* app/tools/gimpforegroundselecttool.c: restrict the working area
to the double of the bounding box of the initial selection.
2005-08-05 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.c (gimp_item_parasite_attach): revert previous
change. Instead, don't push undos if the item is not attached.
2005-08-05 Sven Neumann <sven@gimp.org>
* app/xcf/xcf-load.c (xcf_load_image): disable undo while the
image is being loaded.
* app/core/gimpitem.c (gimp_item_parasite_attach): don't try to
push an undo step if undo is disabled. Gets rid of warnings while
loading an XCF file with undoable drawable parasites.
2005-07-31 Sven Neumann <sven@gimp.org>
* app/core/gimpscanconvert.c (gimp_scan_convert_render): pass 255
as value to gimp_scan_convert_render_internal().
* app/tools/gimpforegroundselecttool.[ch]: add paint strokes as
foreground color; draw function is missing.
2005-07-29 Sven Neumann <sven@gimp.org>
* app/base/siox.[ch]
* app/core/gimpdrawable-foreground-extract.c: pass progress_callback
and progress_data to siox_foreground_extract().
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-29 Sven Neumann <sven@gimp.org>
* app/core/gimpscanconvert.[ch]: added
gimp_scan_convert_render_value(), a variant of
gimp_scan_convert_render() that allows to pass the foreground value.
* app/tools/gimpfreeselecttool.[ch]: added a virtual "select" method.
* app/tools/Makefile.am
* app/tools/gimp-tools.c
* app/tools/gimpforegroundselecttool.[ch]: added a rough first
version of foreground selection tool based on the SIOX algorithm.
Work in progress...
* app/widgets/gimphelp-ids.h: added help-id for the new tool.
2005-07-28 Sven Neumann <sven@gimp.org>
* app/base/siox.[ch]: accept an offset between pixels and mask,
work only on the intersection rectangle.
* app/core/gimpdrawable-foreground-extract.c: pass the drawable
offsets to siox_foreground_extract().
2005-07-28 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/cpercep.[ch]: moved cpercep from here ...
* app/base/Makefile.am
* app/base/cpercep.[ch]: ... to here.
* app/base/siox.[ch]: use the cpercep routines for RGB->LAB
conversion, gives a 20% speedup. Removed normalization which seems
redundant. Make it work for grayscale and indexed, not only RGB.
* app/core/gimpdrawable-foreground-extract.c
* app/core/gimpimage-convert.c: changed accordingly.
2005-07-14 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppaletteview.[ch]: added "entry-clicked" and
"color-dropped" signals. Completely handle color DND. Cleanup.
* app/core/gimpmarshal.list: marshallers for above signals.
* app/widgets/gimppaletteeditor.[ch]: chopped and reassembled.
Remove tons of code and use a GimpPaletteView instead of the
deprecated GtkPreview. Addresses bug #102204.
2005-07-13 Sven Neumann <sven@gimp.org>
* app/base/Makefile.am
* app/base/segmentator.[ch]: renamed to siox.[ch].
* app/base/siox.[ch]: added API docs and a link to the algorithm's
new homepage. Removed unused code.
* app/core/gimpdrawable-foreground-extract.c: changed accordingly.
2005-07-13 Michael Natterer <mitch@gimp.org>
* app/core/gimppalette.c (gimp_palette_add_entry): actually return
the added entry, and not always the palette's last entry (argh!).
* app/widgets/gimppaletteeditor.c: make sure the cursor is always
on the newly added color. Really fixes#15060 this time.
2005-07-12 Michael Natterer <mitch@gimp.org>
* app/core/gimp-edit.c: pass opacity and paint_mode to
gimp_edit_fill_internal() instead of figuring them in the
function.
2005-07-10 Hans Breuer <hans@breuer.org>
* **/makefile.msc app/gimpcore.def : updated
* app/widgets/gimpcontrollerlist.c : dont include
"gimpmessagedialog.c" to avoid redefinitions.
Instead include gimpmessagebox.h and gimpmessagedialog.h
* plug-ins/common/raw.c : include <io.h>
* plug-ins/common/screenshot.c : make it compile. It
still has no code to actually work on win32.
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-07-09 Sven Neumann <sven@gimp.org>
* app/core/gimpchannel.c (gimp_channel_real_feather):
gaussian_blur_region() writes to the pixel data, need to initialize
the pixel region with dirty == TRUE;
* app/paint-funcs/paint-funcs-generic.h: formatting.
2005-07-09 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-pick-color.c (gimp_image_pick_color): if
sample_merged is FALSE and drawable is NULL, just get the image's
active drawable instead of bailing out.
* app/widgets/gimpcursorview.c (gimp_cursor_view_update_cursor):
use gimp_image_pick_color() insted of duplicating its code.
2005-07-05 Sven Neumann <sven@gimp.org>
* app/core/cpercep.[ch]: renamed cpercep_init_conversions() to
cpercep_init(); only initialize the tables on the first call.
* app/core/gimpimage-convert.c: changed accordingly.
2005-06-26 Manish Singh <yosh@gimp.org>
* app/core/gimpenvirontable.c: feed environment values through
gimp_config_path_expand, so ${gimp..} variables can be used.
* plug-ins/pygimp/Makefile.am: define PYTHONPATH in terms of
${gimp_plug_in_dir}. Use ; as a path separator on windows.
With this final changes, pygimp should work out of the box on
Win32 now. Thanks to Michael Schumacher and lode leroy for
figuring out the high level details and testing.
2005-06-18 Sven Neumann <sven@gimp.org>
* app/core/gimpimagefile.c (gimp_imagefile_get_new_pixbuf):
simplified, use the eek wilber icon if the file doesn't exist.
2005-06-17 Sven Neumann <sven@gimp.org>
* app/core/gimpselection.c (gimp_selection_extract): fixed
long-standing bug in the calculation of the depth of the
tile-manager created when copying from an indexed drawable.
2005-06-15 Sven Neumann <sven@gimp.org>
* app/core/gimpimagefile.c (gimp_imagefile_load_thumb):
* app/widgets/gimpthumbbox.c (gimp_thumb_box_auto_thumbnail):
don't display a preview and don't attempt to create one if the
image file does not exist any longer (bug #307672).
2005-06-14 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.c (gimp_image_raise_layer)
(gimp_image_raise_layer_to_top): allow to raise a layer w/o an
alpha channel.
2005-06-10 Michael Natterer <mitch@gimp.org>
Fix bug #134304, as far as it's fixable:
* app/core/gimp-edit.c (gimp_edit_paste_as_new): handle pasting
buffers without alpha. Also don't uselessly convert all buffers
to RGB but create an image in the buffer's color space.
(gimp_edit_extract): call gimp_selection_extract() with
add_alpha = FALSE.
* app/core/gimpselection.c (gimp_selection_extract): set add_alpha
to TRUE if there is a selection, because the selection could have
any shape.
2005-06-08 Sven Neumann <sven@gimp.org>
Removed "stingy-memory-use" all over the place. This feature was
really not that useful anymore. The GUI for the preference option
was already removed for GIMP 2.2. Fixes bug #306617.
* app/config/gimpbaseconfig.[ch]: set IGNORE flag on
"stingy-memory-use".
* app/config/gimpcoreconfig.h: added a comment that the
font_path_writable variable is unused.
* app/base/temp-buf.[ch]: removed code that used to deal with
swapping temp-bufs to disk.
* app/base/base.c: made base_config a static variable.
* app/core/gimpdata.[ch]
* app/core/gimpdatafactory.[ch]: removed stingy_memory_use
parameter from data construction methods.
* app/core/gimp-gradients.c
* app/core/gimpbrush-load.[ch]
* app/core/gimpbrush.[ch]
* app/core/gimpbrushgenerated.[ch]
* app/core/gimpbrushpipe.[ch]
* app/core/gimpcontext.c
* app/core/gimpgradient-load.[ch]
* app/core/gimpgradient.[ch]
* app/core/gimppalette-import.c
* app/core/gimppalette.[ch]
* app/core/gimppattern.[ch]: changed accordingly.
* app/core/gimpitem-align.[ch]: newly created to
hold code for gimp_item_align().
* app/core/Makefile.am: add new files
* app/core/gimpitem.[ch]: remove code from here.
* app/tools/gimpaligntool.c: fix includes and remove
unneeded includes.
2005-05-31 Sven Neumann <sven@gimp.org>
* app/core/gimppalette-import.c: applied patch from Joao
S. O. Bueno Calligaris that adds support for loading PSP color
palette files (bug #305956).
2005-05-26 Sven Neumann <sven@gimp.org>
* app/core/gimpdata.[ch]: added MIME type as a construct property
to GimpData.
* app/core/gimpbrush-load.c
* app/core/gimpbrushgenerated.c
* app/core/gimpbrushpipe.c
* app/core/gimpgradient-load.c
* app/core/gimppalette.c
* app/core/gimppattern.c: set the MIME type when loading a data
object from file. MIME types needs review and GimpPalette isn't
quite done yet...
* app/core/gimpdashpattern.c: cosmetics.
2005-05-25 Michael Natterer <mitch@gimp.org>
* app/core/gimpviewable.[ch]: added virtual function
GimpViewable::get_size() and public API gimp_viewable_get_size()
which return width and height and a boolean indicating if the
viewable has a size at all.
Added default implementation of GimpViewable::get_popup_size()
using the new get_size() API.
* app/core/gimpbrush.c
* app/core/gimpbuffer.c
* app/core/gimpdrawable.c
* app/core/gimpimage.c
* app/core/gimppattern.c: implement GimpViewable::get_size().
* app/core/gimpbrush.c
* app/core/gimppattern.c: removed GimpViewable::get_popup_size()
implementations, the default one is good enough.
* app/core/gimpbrushpipe.c (gimp_brush_pipe_get_popup_size):
redirect to gimp_viewable_get_size() instead of duplicating its
return values.
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpview.c: allow pixbuf dragging out of any
viewable that has a size.
* app/widgets/gimpdrawabletreeview.c: removed pixbuf dragging code
here.
* app/widgets/gimpdnd.c: set gimp busy around encoding/decoding
pixbufs into/from GtkSelectionData, because it can be a time
consuming operation.
2005-05-22 Sven Neumann <sven@gimp.org>
* tools/gimp-mkenums (parse_trigraph): use quotewords() from
Text::ParseWords to split the trigraph. This function correctly
deals with commas inside quotes.
* app/core/core-enums.[ch]: tweaked descriptions in the
GimpDashPreset enum.
2005-05-22 Sven Neumann <sven@gimp.org>
* app/core/gimpdashpattern.c: minor cleanup.
* app/widgets/gimpcellrendererdashes.c: don't draw a background,
draw the dash pattern twice, use the correct widget state.
2005-05-21 Sven Neumann <sven@gimp.org>
* app/core/gimpdashpattern.[ch]: added utility functions to copy
and to free a dash pattern.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcellrendererdashes.[ch]: added a simple cell
renderer to visualize a dash pattern.
* app/widgets/gimpstrokeeditor.c: show previews of the dash
presets in the combo-box.
2005-05-19 Sven Neumann <sven@gimp.org>
* app/core/gimpstrokeoptions.[ch]: renamed property "miter" to
"miter-limit" and added a description to be used as a tooltip in
the stroke editor.
* app/core/gimpdrawable-stroke.c
* app/widgets/gimpstrokeeditor.c: changed accordingly.
2005-05-19 Sven Neumann <sven@gimp.org>
* app/core/gimpstrokeoptions.[ch]
* app/widgets/gimpdasheditor.c
* app/widgets/gimpstrokeeditor.c: small change to the internal API
to reduce code and conversion between GArray and GValueArray.
2005-05-19 Sven Neumann <sven@gimp.org>
* app/core/gimpdashpattern.[ch]
* app/widgets/gimpdasheditor.c: moved more code out of
GimpDashEditor to gimpdashpattern.c. Fixed bug in last commit.
2005-05-19 Sven Neumann <sven@gimp.org>
* app/core/gimpdashpattern.[ch]
* app/widgets/gimpdasheditor.c: moved code out of GimpDashEditor
to gimpdashpattern.c.
2005-05-19 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/gimpdashpattern.[ch]: new files with coode split out of
gimpstrokeoptions.c.
* app/core/gimpstrokeoptions.c: use gimp_dash_pattern_from_preset().
2005-05-06 Sven Neumann <sven@gimp.org>
* app/actions/layers-actions.c
* app/core/gimpimage.c (gimp_image_position_layer)
* app/widgets/gimplayertreeview.c (gimp_layer_tree_view_drop_possible):
drop the limitation that layers not at the bottom of the stack
have to have an alpha channel. Allow the user to move the
background layer up in the stack or reposition it using DND.
* tips/gimp-tips.xml.in: changed the relevant tip and some more.