2007-12-06 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore-stroke.[ch]: added GError arguments and
fixed all functions to abort when the first call to
gimp_paint_core_start() fails (it won't succeed either for the
next path or whatever segemts).
* app/core/gimpitem.[ch]: added GError to gimp_item_stroke()
* app/core/gimpselection.c
* app/core/gimpchannel.c
* app/vectors/gimpvectors.c: don't gimp_message() in
GimpItem::stroke() but set the error.
* app/dialogs/stroke-dialog.c
* app/actions/vectors-commands.c
* app/actions/select-commands.c: handle the returned errors.
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb
* tools/pdbgen/pdb/paint_tools.pdb: pass the error to the stroke
functions.
* app/pdb/paint_tools_cmds.c
* app/pdb/edit_cmds.c
* app/pdb/paths_cmds.c: regenerated.
svn path=/trunk/; revision=24273
2007-12-06 Michael Natterer <mitch@gimp.org>
Move some gimp_message() calls where they belong:
* app/core/gimplayer-floating-sel.[ch]: removed unreachable
gimp_message() in floating_sel_anchor() and added GError parameter
to floating_sel_to_layer().
* app/core/gimplayer.c
* app/core/gimpimage-quick-mask.c
* app/actions/layers-commands.c: pass NULL or an error as
appropriate and show the error message.
* tools/pdbgen/pdb/floating_sel.pdb: set the error when the passed
layer was no floating selection.
* app/pdb/floating_sel_cmds.c: regenerated.
svn path=/trunk/; revision=24272
2007-12-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.[ch]: added new API
gimp_drawable_estimate_memsize() and virtual function
GimpDrawable::estimate_memsize() which estimate the memsize of a
drawable after scaling/resizing.
* app/core/gimplayer.c: implement the virtual function and take
the layer mask into account.
* app/core/gimpimage-item-list.[ch] (gimp_image_item_list_get_list):
added const qualifiers.
* app/core/gimpimage-scale.c (gimp_image_scale_check): use the new
function to correctly estimate the new size instead of scaling the
drawables' memsizes including all constant parts. Fixes bug #329468.
* app/gimp-log.[ch]: added IMAGE_SCALE log domain.
* app/core/gimpimage-scale.c: use it here for debugging output.
svn path=/trunk/; revision=24260
2007-12-01 Sven Neumann <sven@gimp.org>
* app/core/gimpviewable.h: changed GIMP_VIEWABLE_PRIORITY_IDLE
to
G_PRIORITY_LOW. The reason for the very low priority was to keep
it lower than the projection idle renderer.
svn path=/trunk/; revision=24249
2007-11-29 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection.c (gimp_projection_idle_render_init):
raise the priority of the idle renderer to
G_PRIORITY_DEFAULT_IDLE.
Should fix bug #499150.
svn path=/trunk/; revision=24241
2007-11-28 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-transform.c
(gimp_drawable_transform_tiles_flip): fixed typo in if condition
and added more sanity checks.
svn path=/trunk/; revision=24237
2007-11-15 Michael Natterer <mitch@gimp.org>
* app/core/gimpviewable.[ch]: add read-only property "frozen" and
new API gimp_viewable_preview_is_fozen(). Emit property notifications.
* app/widgets/gimphistogramview.[ch]: add API to show a second
histogram in the background. Remove member "light_histogram" from
the GimpHistogramViewClass struct.
* app/widgets/gimpcurveview.c: don't set "light_histogram".
* app/tools/gimpcurvestool.c: set the background histogram instead.
* app/widgets/gimphistogrameditor.[ch]: connect to "notify::frozen"
of the drawable and show its histogram at the freezing point in
the background. This way the original histogram is visible while
we are doing color corrections.
svn path=/trunk/; revision=24158
2007-11-13 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-merge.c (gimp_image_merge_layers): when we
encounter an unsupported merge operation (merging an opaque
indexed layer onto an indexed layer with alpha channel), then
add
an alpha channel and try again. Fixes bug #496437.
svn path=/trunk/; revision=24149
2007-11-12 Sven Neumann <sven@gimp.org>
* app/core/gimp-utils.c (gimp_get_default_unit): return
GIMP_UNIT_MM in case that we can't query the locale.
* plug-ins/common/postscript.c: use gboolean for boolean
variables.
svn path=/trunk/; revision=24139
2007-11-12 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-merge.c (gimp_image_merge_layers): corrected
the size of the pixel region passed to color_region() in case of
an indexed image. Fixes bug #495990.
svn path=/trunk/; revision=24136
2007-11-08 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.c (gimp_image_clean_all): pass GIMP_DIRTY_ALL
to the "clean" signal instead of uninitialized memory.
svn path=/trunk/; revision=24087
2007-11-05 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.[ch]: don't recalculate the curve if the data
object is frozen. Recalculate on thaw instead. Made
gimp_curve_calculate() private and emit some GimpData::dirty
signals where appropriate.
* app/tools/gimpcurvestool.c
* app/widgets/gimpcurveview.c
* tools/pdbgen/pdb/color.pdb: changed accodingly (connect to "dirty"
instead of "notify" and added some freeze/thaw where approproate).
* app/pdb/color_cmds.c: regenerated.
svn path=/trunk/; revision=24063
2007-11-05 Sven Neumann <sven@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_clear): update the
drawable, not the image. This change was missing in the fix for
bug #490182. Fixes bug #493639.
svn path=/trunk/; revision=24061
* app/core/gimppalette.c (gimp_palette_get_preview_size): return
an odd preview height to make the border align with the pixel
grid.
svn path=/trunk/; revision=24057
2007-11-04 Sven Neumann <sven@gimp.org>
* app/widgets/gimpviewrenderer.[ch]: replaced the RGB buffer
with
a Cairo surface.
* app/widgets/gimpviewrendererbuffer.c
* app/widgets/gimpviewrendererbrush.c
* app/widgets/gimpviewrendererdrawable.c
* app/widgets/gimpviewrenderergradient.c
* app/widgets/gimpviewrendererimage.c
* app/widgets/gimpviewrendererpalette.c
* app/widgets/gimpviewrenderervectors.c: changed accordingly.
There
are some loose ends here that will be fixed over the next days.
* app/widgets/gimprender.c: removed gimp_render_temp_buf; it is
not any longer needed.
* app/core/gimpgradient.c (gimp_gradient_get_preview_size):
return
an odd preview height to make the border align with the pixel
grid.
svn path=/trunk/; revision=24056
2007-11-02 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.[ch]: added API to modify free-form curves
and properties to listen to curve changes.
* app/widgets/gimphistogramview.[ch]: added everything that's
needed for rendering a curve with all its color and cursor
indicators on top of a histogram. This code will move to a
subclass soon.
* app/tools/gimpcurvestool.[ch]: removed all curve rendering here.
Also removed all explicit updating by connecting to curve signals
and updating in the callback.
svn path=/trunk/; revision=24045
2007-11-02 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpcurve-save.[ch]
* app/core/gimpcurve-load.[ch]
* app/core/gimpcurve.[ch]: new GimpData subclass which keeps a
curve as known from the curves tool. Pretty much unfinished, but
can do everything that used to be done by base/curves.c and more.
* app/base/curves.[ch]: stripped down to plain arrays of
uchar (the actual curve) and the LUT setup function. All the rest
is done by GimpCurve now.
* app/tools/gimpcurvestool.[ch]: use an array of GimpCurves
instead of the old Curves cruft. Use Curves only for the last step
of creating the LUT. Pretty much unfinished migration here too.
* tools/pdbgen/pdb/color.pdb: use a GimpCurve here too.
* app/pdb/color_cmds.c: regenerated.
svn path=/trunk/; revision=24041
2007-10-31 Sven Neumann <sven@gimp.org>
* app/core/gimp-user-install.c: improved detection of old gimp
user directories and handle migration from 2.4.
svn path=/trunk/; revision=24023
2007-10-31 Michael Natterer <mitch@gimp.org>
* app/core/gimpparamspecs.[ch] (GimpParamSpecString): remove
member "null_ok" and use GParamSpecString's "ensure_non_null"
instead.
svn path=/trunk/; revision=24022
2007-10-26 Sven Neumann <sven@gimp.org>
Reenabled update of the histogram while doing color corrections
(bug 490182):
* app/core/gimpviewable.[ch]: added new methods preview_freeze()
and preview_thaw().
* app/core/gimpimagemap.c
(gimp_image_map_new): freeze the drawable preview.
(gimp_image_map_dispose): thaw the drawable preview.
(gimp_image_map_do): update the drawable, not the image.
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_response): no
need to invalidate the drawable preview any longer.
svn path=/trunk/; revision=23956
2007-10-15 Martin Nordholts <martinn@svn.gnome.org>
* app/core/gimpimage-arrange.c (compute_offset): Use
gimp_vectors_bounds() instead of gimp_item_offsets|width|height()
when calculating size and position for a path. Fixes bug #486517.
svn path=/trunk/; revision=23833
2007-10-06 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-colormap.c (gimp_image_set_colormap): set
all
entries to zero before assigning the new colormap.
* app/paint-funcs/paint-funcs.[ch]: added const qualifiers.
svn path=/trunk/; revision=23748
2007-10-06 Sven Neumann <sven@gimp.org>
* app/core/gimpselection.c (gimp_selection_float): don't pop up
a
warning dialog if the selection is empty (bug #483896).
* app/actions/select-commands.c (select_float_cmd_callback): use
gimp_message() here in case that gimp_selection_float() fails.
svn path=/trunk/; revision=23746
2007-09-30 Sven Neumann <sven@gimp.org>
* app/core/gimp-utils.c (gimp_get_temp_filename): handle a NULL
extension and create a filename without file extension.
* tools/pdbgen/pdb/fileops.pdb
* app/pdb/fileops_cmds.c: allow NULL to be passed as extension
parameter to gimp_temp_name().
svn path=/trunk/; revision=23697
2007-09-26 Sven Neumann <sven@gimp.org>
* app/core/gimpimageundo.c (gimp_image_undo_pop): call
gimp_color_managed_profile_changed() if an icc-profile is
attached
or removed from an image by an undo operation (bug #475983).
svn path=/trunk/; revision=23661
2007-09-20 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.[ch]: added a load_proc member to GimpImage
and getters and setters for it.
* app/file/file-open.c (file_open_image): set the load
procedure,
but only if it hasn't been set already. Use the MIME type from
the
load procedure that is set on the image.
* tools/pdbgen/pdb/fileops.pdb (file_load_invoker): set the load
procedure. This causes it to be set when the URI plug-in calls
gimp-file-load to load the image.
* app/pdb/fileops_cmds.c: regenerated.
* app/widgets/gimpimagepropview.c
(gimp_image_prop_view_label_set_filetype): use the MIME type
from
the load procedure, in case that no save procedure is set.
svn path=/trunk/; revision=23597
2007-09-15 Michael Natterer <mitch@gimp.org>
Make layer masks work consistently on layers without alpha.
Fixes bug #475548.
* app/core/gimplayer.c (gimp_layer_apply_mask): changed to work
on layers without alpha.
* app/actions/layers-commands.c (layers_add_mask_response): don't
automatically add an alpha channel when adding a layer mask.
svn path=/trunk/; revision=23555
2007-09-13 Sven Neumann <sven@gimp.org>
* app/core/gimpviewable.c: removed static variable debug_context
but keep the warnings about NULL contexts.
svn path=/trunk/; revision=23524
* app/core/gimp-transform-region.c: (supersample_dtest): do not invoke
supersampling for linear, bicubic and lanczos until the largest
horizontal/vertical difference between transformed pixel corners goes
above sqrt(2) (this ensures interpolation instead of supersampling is
used for rotation.)
svn path=/trunk/; revision=23509
2007-09-11 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.c (gimp_image_add_layers): make the first of
the added layers the active layer. Fixes bug #469752.
svn path=/trunk/; revision=23501
2007-09-03 Michael Natterer <mitch@gimp.org>
* app/core/gimp-transform-region.c: Applied slightly reformatted
patch by Jakub Friedl and Daniel Hornung which ROUND()s the
floating point result values before assigning them to integers to
avoid reducing the output space to [0..254] (thus darkening the
image). Fixes bug #472806.
svn path=/trunk/; revision=23451