2008-01-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolorbar.c (gimp_color_bar_class_init): fix the
ID of the "histogram-channel" property.
svn path=/trunk/; revision=24660
2008-01-21 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-levels.c: port to GEGL and use the new
code path when use-gegl is TRUE.
* app/base/levels.[ch]: remove stretch and pick APIs which are not
used any longer.
svn path=/trunk/; revision=24659
2008-01-21 Michael Natterer <mitch@gimp.org>
* app/gegl/gimplevelsconfig.[ch]: add utility function
gimp_levels_config_to_levels_cruft() which fills the old Levels
struct from a GimpLevelsConfig object.
* app/tools/gimplevelstool.c: use it.
svn path=/trunk/; revision=24658
2008-01-19 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpeditselectiontool.c
(gimp_edit_selection_tool_motion): Reformat a bit, essentially
just removed one pointless level of indentation.
svn path=/trunk/; revision=24655
2008-01-18 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpcolorizeconfig.[ch]: new config object.
* app/gegl/gimpoperationcolorize.[ch]: remove all properties and
add a "config" property.
* app/tools/gimpcolorizetool.[ch]: port to GimpColorizeConfig, use
the old Colorize struct only in map().
svn path=/trunk/; revision=24647
2008-01-18 Michael Natterer <mitch@gimp.org>
* app/gegl/gimplevelsconfig.[ch]: ported the stretch and pick
functions from base/levels.c.
* app/tools/gimplevelstool.[ch]: use them instead of the old
stuff. Also switch to GimpLevelsConfig as primary storage for all
settings and fill the old Levels struct only when needed in map().
Remove all hackish fiddling with levels_tool->channel because it
is now always what is set in the menu.
svn path=/trunk/; revision=24646
* app/gegl/gimpoperationtilesink.c:
* app/gegl/gimpoperationtilesource.c: Some changes due to changed
location of where the various GEGL headers get installed on the
system.
* app/gegl/gegl/gegl-operation.h: synced from GEGL.
svn path=/trunk/; revision=24639
2008-01-17 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpeditselectiontool.c
(gimp_edit_selection_tool_get_active_item): Use this new helper
function instead of duplicating its logic.
svn path=/trunk/; revision=24638
2008-01-17 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimplevelsconfig.[ch]: new config object for the levels
operation's settings.
* app/gegl/gimpoperationlevels.[ch]: remove all properties and add
a "config" property instead.
* app/tools/gimplevelstool.[ch]: keep a GimpLevelsConfig around.
svn path=/trunk/; revision=24637
2008-01-17 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationcolorize.c
* app/gegl/gimpoperationhuesaturation.c (process): move some
calculations and assignments out of the inner loop.
svn path=/trunk/; revision=24636
2008-01-17 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c: create the operation in
GObject::constructor() so it's available during the entire tool
life time (needed soon).
svn path=/trunk/; revision=24635
* app/gegl/gegl/gegl-operation.h: synced from GEGL.
* app/gegl/gegl/graph/gegl-node-context.h: removed, since none
of it's provided functionlity is any longer used by the GIMP
implemented ops.
* app/gegl/gegl/graph/: removed.
svn path=/trunk/; revision=24631
* app/gegl/gegl/buffer/gegl-buffer-types.h: removed.
* app/gegl/gegl/buffer/: removed.
* app/gegl/gegl/gegl-operation.h: synced from gegl. Now includes
the installed gegl-buffer.h which contains the public typedefs
needed for implementing operations anyways.
svn path=/trunk/; revision=24630
2008-01-16 Michael Natterer <mitch@gimp.org>
Fix gegl types and includes so we can include operations from
app/gegl in other gimp files (needed soon):
* app/gegl/gegl/gegl-types.h: not copied from gegl any longer.
Now contains only two typedefs needed by the copied operation
headers.
* app/gegl/gegl-types.h: include above types file.
* app/gegl/gimp-gegl.c
* app/gegl/gimpoperationcolorbalance.c
* app/gegl/gimpoperationcolorize.c
* app/gegl/gimpoperationdesaturate.c
* app/gegl/gimpoperationhuesaturation.c
* app/gegl/gimpoperationlevels.c
* app/gegl/gimpoperationposterize.c
* app/gegl/gimpoperationthreshold.c
* app/gegl/gimpoperationtilesink.c
* app/gegl/gimpoperationtilesource.c: include only <gegl.h> and
"gegl-types.h" from this directory, which is much more gimpish
now. Include "gegl/buffer/gegl-buffer.h" in the source and sink
operations.
* app/tools/gimpimagemaptool.h: warn about inclusion of <gegl.h>
only if it hasn't been included before, so it only warns in the
files where we still have to address this issue.
svn path=/trunk/; revision=24625
2008-01-16 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-coords.c: applied parts of a change
from Alexia Death. This improves the event smoothing (bug #508639).
svn path=/trunk/; revision=24624
2008-01-15 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/tools-utils.h: Added symbolic constants for common
values to the n_snap_lines parameter of
gimp_tool_motion_constrain.
* app/tools/gimpblendtool.c:
* app/tools/gimpeditselectiontool.c:
* app/tools/gimpmeasuretool.c:
* app/tools/gimppainttool.c: Use these new symbolic constants.
svn path=/trunk/; revision=24623
2008-01-15 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpeditselectiontool.[ch]: Made it possible to
constrain movement with the Move Tool in 45 degree angles by
holding Ctrl when a move has been initiated. This fixes the
essential part of bug #78730.
svn path=/trunk/; revision=24622
2008-01-15 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationcolorize.[ch]
* app/gegl/gimpoperationlevels.[ch]
* app/gegl/gimpoperationthreshold.[ch]: changed all properties from
float to double.
* app/gegl/gimpoperationcolorize.c: normalized property ranges to
[0.0..1.0] or [-1.0..1.0] resp.
* app/tools/gimpcolorizetool.c: changed accordingly.
svn path=/trunk/; revision=24621
2008-01-15 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_notify_preview):
check for image_map_tool->image_map also when the preview is
switched on, not only when it's switched off.
svn path=/trunk/; revision=24618
2008-01-14 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/tools-utils.[ch]
(gimp_tool_motion_constrain): Generalized to allow a variable
number of lines for snapping, and rewritten to make snapping
happen more intuitively; snap the shortest distance rather than
only horizontally or vertically.
(gimp_tool_utils_point_to_line_distance): New helper function.
* app/tools/gimpblendtool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c: Adjust to the new function signature.
svn path=/trunk/; revision=24609
2008-01-14 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpoperationhuesaturation.[ch]: new operation.
* app/gegl/gimp-gegl.c: register it.
* app/tools/gimphuesaturationtool.c: use it.
svn path=/trunk/; revision=24608
2008-01-14 Sven Neumann <sven@gimp.org>
* app/core/core-types.h
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-coords.[ch]
* app/display/gimpdisplayshell.h
* app/paint/gimpink.[ch]
* app/paint/gimpinkundo.[ch]: applied patch from Alexia Death
that
adds an event evaluation function that decides if an event is
needed or can be discarded. As a side-product some useful
dynamics
parameters like velocity are added to the GimpCoords struct. The
Ink tool is changed to use this information. See bug #508639.
svn path=/trunk/; revision=24607
2008-01-10 Sven Neumann <sven@gimp.org>
* app/widgets/gimpuimanager.c (gimp_ui_manager_ui_popup):
gracefully deal with a NULL return value from
gtk_ui_manager_get_widget(). This happens when the XML menu
definitions are not found.
svn path=/trunk/; revision=24594
2008-01-10 Michael Natterer <mitch@gimp.org>
Simplify things a bit and enable gegl-only color correction
tools (without legacy functions).
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_create_map):
always create the operation if ::get_operation() is implemented
and always use it when creating the GimpImageMap if there is no
legacy apply_func.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorizetool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c (map): set the operation's
properties unconditionally since it always exists now if we also
implement ::get_operation().
svn path=/trunk/; revision=24588
2008-01-10 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpoperationcolorbalance.[ch]: new operator.
* app/gegl/gimp-gegl.c: register it.
* app/tools/gimpcolorbalancetool.c: use it.
svn path=/trunk/; revision=24587
2008-01-09 Sven Neumann <sven@gimp.org>
* app/gegl/gimpoperationtilesink.c: use the marshaller from GLib;
don't include gimpmarshal.h from app/core.
svn path=/trunk/; revision=24579
2008-01-09 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: add typedef GimpImageMapApplyFunc here.
* app/core/gimpimagemap.[ch] (gimp_image_map_new): add apply_func
and apply_data parameters.
(gimp_image_map_apply): remove them here and add a GeglRectangle
parameter which is the visible area of the affected drawable.
* app/tools/gimpimagemaptool.[ch]: keep apply_func and apply_data
around in the GimpImageMapTool struct.
(gimp_image_map_tool_create_map): pass them to gimp_image_map_new().
(gimp_image_map_tool_map): call gimp_image_map_apply() here and
pass the drawable's visible rectangle.
* 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 (init): set apply_func and
apply_data in the parent instance.
(map): remove calls to gimp_image_map_apply().
svn path=/trunk/; revision=24573
2008-01-08 Sven Neumann <sven@gimp.org>
* app/file/file-open.c (file_open_layers): moved code to a utility
function, in preparation for a possible fix for bug #507116.
svn path=/trunk/; revision=24569
2008-01-07 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationlevels.[ch]: add properties, some cleanup.
* app/tools/gimplevelstool.c: use gegl_node_set() instead of
accessing the operation directly.
svn path=/trunk/; revision=24566
2008-01-07 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationcolorize.c (process): add some comments
about how this code is different from base/colorize.c
svn path=/trunk/; revision=24564
2008-01-07 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: include gegl/gegl-types.h instead of
base/base-types.h.
* app/gegl/gegl/gegl-types.h: add ugly #ifdefs so we can include
gegl.h and this file at the same time.
svn path=/trunk/; revision=24563
2008-01-07 Michael Natterer <mitch@gimp.org>
* app/core/gimplayer.c (gimp_layer_transform_color): reordered
and renamed parameters to make more sense.
svn path=/trunk/; revision=24562
* app/tools/gimpbrightnesscontrasttool.c: make the mapping between
slider values and gegl-op properties more closely resemble gimp for
the brightness property.
svn path=/trunk/; revision=24560
2008-01-07 Michael Natterer <mitch@gimp.org>
* app/gegl/gegl/gegl-operation.h: updated from GEGL.
* app/gegl/gimpoperationtilesource.c: use the passed buffer in
process() and add prepare() implementation which sets the format.
svn path=/trunk/; revision=24559
* app/gegl/gimpoperationtilesink.c:
* app/gegl/gimpoperationtilesource.c: modified to match newer API in
GEGL.
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation-source.h: updated from GEGL.
svn path=/trunk/; revision=24555
2008-01-06 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_gegl_notify):
toggle the image map mode only if an image map currently exists.
Fixes crash when toggling "Use GEGL" while the tool is not active.
svn path=/trunk/; revision=24552
2008-01-05 Manish Singh <yosh@gimp.org>
* app/core/gimpimagemap.c: hardcode a declaration of
gegl_node_add_child() in here for now.
svn path=/trunk/; revision=24539
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation-source.h:
* app/gegl/gegl/gegl-operation.h:
* app/gegl/gegl/gegl-types.h:
* app/gegl/gegl/graph/:
* app/gegl/gegl/graph/gegl-node-context.h: synchronoised with GEGL
headers.
* app/gegl/gimpoperationtilesink.c:
* app/gegl/gimpoperationtilesource.c: updated to new API, where a
GeglNodeContext is used in process methods instead of gpointer
context_id.
svn path=/trunk/; revision=24538
2008-01-04 Sven Neumann <sven@gimp.org>
* app/config/gimpdisplayconfig.c: changed the default marching
ants
speed to 200.
svn path=/trunk/; revision=24534
2008-01-04 Hans Breuer <hans@breuer.org>
**/makefile.msc app/gimpcore.def : updated so it compiles and links
(almost, see bug #507298)
svn path=/trunk/; revision=24533
2008-01-04 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/color.pdb: optionally use gegl where we already
have operations (breaking the indentation to keep the diff small
and readable).
* app/pdb/Makefile.am: add GEGL_CFLAGS.
* app/pdb/color_cmds.c: regenerated.
svn path=/trunk/; revision=24531
2008-01-04 Michael Natterer <mitch@gimp.org>
* app/config/gimpcoreconfig.[ch]: add "use-gegl" property but
don't serialize it.
* app/widgets/gimptoolbox.c: add super ugly "Use GEGL" toggle to
the toolbox so we don't need to have prefs open all the time when
experimenting with gegl.
* app/tools/gimpimagemaptool.[ch]: remove "Use GEGL" toggle from
the tool dialogs and connect to the config property instead.
* app/core/gimpdrawable-desaturate.c
* app/core/gimpdrawable-invert.c: made them runtime-switchable by
looking at the config property.
svn path=/trunk/; revision=24530
2008-01-04 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpoperationcolorize.[ch]
* app/gegl/gimpoperationposterize.[ch]: new operators which still
use a lot of gimp stuff they shouldn't use, but at least the
infrastructure for improving them is there now.
* app/gegl/gimp-gegl.c: register them.
* app/tools/gimpcolorizetool.c
* app/tools/gimpposterizetool.c: use them.
svn path=/trunk/; revision=24528
2008-01-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_apply): switch tile
sources and sinks to assume linear data.
svn path=/trunk/; revision=24526
2008-01-04 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_create_map):
enable disabling gegl again, which i broke with my last commit.
svn path=/trunk/; revision=24525
committing patch by Simon Budig to give an indication
when working on a layer mask, updated to fix staleness
and respond to "edit-changed". Might fix bug #132204.
* app/core/core-enums.[ch]: add GIMP_SELECTION_LAYER_ON.
* app/core/gimplayermask.c: add handler for "edit-changed".
* app/core/gimpcanvas.[ch]: add new style
GIMP_CANVAS_STYLE_LAYER_MASK_ACTIVE.
* app/display/gimpdisplayshell-selection.c: use new style
when layer mask is active.
svn path=/trunk/; revision=24520
2008-01-03 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.[ch]: keep the central processing
node around here...
* app/tools/gimpbrightnesscontrasttool.[ch]
* app/tools/gimpthresholdtool.[ch]: ...instead of here.
svn path=/trunk/; revision=24517
2008-01-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagemap.c: quite some cleanup (use GeglRectangle
more globally and don't leave stuff around if we abort for
whatever reason).
svn path=/trunk/; revision=24516
2008-01-03 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpoperationthreshold.[ch]: gimpish threshold operator
which has "low" and "high" properties.
* app/gegl/gimp-gegl.c: register it.
* app/gegl/gimpoperationdesaturate.[ch]: fix copyright.
* app/tools/gimpthresholdtool.[ch]: use the new operator.
svn path=/trunk/; revision=24515
2008-01-03 Michael Natterer <mitch@gimp.org>
Some more gegl code to have some playground for experimenting.
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpoperationdesaturate.[ch]: ported desaturate.
* app/gegl/gimp-gegl.c: register it.
* app/gegl/gimpoperationtilesink.h: fix name of parent class member.
* app/core/gimpdrawable-desaturate.c: use the new operator, but
keep the old code around (prepared for runtime switching).
* app/core/gimpdrawable-invert.c: prepare for runtime switching
here too.
svn path=/trunk/; revision=24514
2008-01-02 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpdrawable-operation.[ch]: new files containing
gimp_drawable_apply_operation() which applies a gegl operation
to a drawable's selected pixels using shadow tiles. Will soon
be used in more places than just invert.
* app/core/gimpdrawable-invert.c: use it here, makes
gimp_drawable_invert() a 3-liner.
svn path=/trunk/; revision=24506
2008-01-01 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_start): Use ×
instead of x when initializing the rectangle size in the status
bar.
svn path=/trunk/; revision=24498
2007-12-30 Sven Neumann <sven@gimp.org>
* app/gegl/gimp-gegl-utils.[ch]: added new function
gimp_bpp_to_babl_format_linear().
* app/gegl/gimpoperationtilesink.[ch]
* app/gegl/gimpoperationtilesource.[ch]: added boolean property
to
toggle between linear and gamma-corrected data.
* app/core/gimpdrawable-invert.c: assume linear data to be
closer
to the original definition of the invert operation in GIMP.
Enable the GEGL code path per default.
svn path=/trunk/; revision=24491
2007-12-30 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-invert.c (gimp_drawable_invert): moved
processing in the GEGL code path back to the main loop.
svn path=/trunk/; revision=24490
2007-12-30 Michael Natterer <mitch@gimp.org>
First actual image processing with GEGL! Wheeeee :-)
* app/core/gimpimagemap.[ch]: added code to use gegl instead of the
old apply_func and apply_data.
(gimp_image_map_new): add GeglNode parameter that, if passed,
switches the whole thing to using a gegl graph with this node
as central processing node.
* app/tools/gimpimagemaptool.[ch]: add virtual function
get_operation() which, if implemented, returns a GeglNode to pass
to gimp_image_map_new(). Added a "Use GEGL" toggle so we can
switch between legacy and gegl code for the migration period.
* app/tools/gimpbrightnesscontrasttool.[ch]: implement
get_operation() and return a brightness-contrast node.
(gimp_briughtness_contrast_tool_map): set the node's properties
from the GUI.
svn path=/trunk/; revision=24488
2007-12-30 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]
* app/widgets/gimpprogressbox.[ch]: only update the
GtkProgressBar
if that would cause a visible change.
svn path=/trunk/; revision=24487
2007-12-30 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationtilesource.c: minor cleanup.
* app/gegl/gimpoperationtilesink.[ch]: add "data-written" signal
that is emitted whenever pixels have been written to the tile
manager.
svn path=/trunk/; revision=24484
* app/core/Makefile.am: added GEGL_CFLAGS.
* app/core/gimpdrawable-invert.c: added an alternate GEGL code path
that can be enabled by uncommenting ENABLE_GEGL in the file.
svn path=/trunk/; revision=24483
* app/core/Makefile.am: added GEGL_CFLAGS.
* app/core/gimpdrawable-invert.c: added an alternate GEGL code path
that can be enabled by uncommenting ENABLE_GEGL in the file.
svn path=/trunk/; revision=24482
* app/gegl/gimpoperationtilesink.c: specify that this operation does
not need the full buffer available before "flushing" the sink.
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation.h: updated copy of headers.
svn path=/trunk/; revision=24480
* app/gegl/gimpoperationtilesink.c: specify that this operation does
not need the full buffer available before "flushing" the sink.
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation.h: updated copy of headers.
svn path=/trunk/; revision=24479
* app/gegl/gimpoperationtilesource.c: override the default behaviour
of GeglOperationSource to expand the result rect to the full have
rect with a NULL (nop) implementation.
svn path=/trunk/; revision=24474
* app/gegl/gimpoperationtilesource.c: do not fetch the full extent
of the TileManager but only the needed pixels. Pass rowstride
correctly when fecting subregions.
svn path=/trunk/; revision=24470
* configure.in: depend on GEGL 0.0.15 (version ends in odd, thus
depending on svn trunk of GEGL).
* app/gegl/gimpoperationtilesource.c:
(gimp_operation_tile_source_process): just use GEGL_AUTO_ROWSTRIDE for
the rowstride in gegl_buffer_set for now.
svn path=/trunk/; revision=24469
2007-12-29 Michael Natterer <mitch@gimp.org>
* app/base/tile-manager.[ch]: add boxed type GIMP_TYPE_TILE_MANAGER.
* app/gegl/gimpoperationtilesink.c
* app/gegl/gimpoperationtilesource.c: use GParamSpecBoxed instead
of GParamSpecPointer for the tile-manager properties and ref them
properly. Some cleanup.
svn path=/trunk/; revision=24465
2007-12-29 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationtilesink.c (tile_sink_process): add
some const that should also be in the gegl api *cough*.
svn path=/trunk/; revision=24462
2007-12-29 Michael Natterer <mitch@gimp.org>
* app/gegl/gimp-gegl-utils.c (gimp_bpp_to_babl_format): use
g_return_val_if_fail() instead of g_warning().
svn path=/trunk/; revision=24461
2007-12-29 Øyvind Kolås <pippin@gimp.org>
Added adapter GEGL operations for reading and writing to TileManagers.
* configure.in:
* app/Makefile.am: added gegl subdir.
* app/gegl/Makefile.am: added.
* app/gegl/gimpops.c: (gimp_gegl_ops_init):
* app/gegl/gimpoptilesink.[ch]: adapter GEGL operation for writing to
GIMP tile managers.
* app/gegl/gimpoptilesource.[ch]: adapter GEGL operation for reading
from GIMP tile managers.
* app/main.c: (main): call gimp_gegl_ops_init()
* app/gegl/gegl/: added some headers from GEGL that are not installed
since they are not public API yet.
svn path=/trunk/; revision=24458
2007-12-29 Simon Budig <simon@gimp.org>
* app/display/gimpdisplayshell.c: don't use ceil, use SCALEX.
* app/display/gimpdisplayshell-transform.c: Round hopefully more
properly.
This probably exchanges one set of artefacts for another one...
* app/display/gimpdisplayshell-render.c: minor fixes.
* app/display/gimpdisplayshell-selection.c: whitespace fix
svn path=/trunk/; revision=24457
2007-12-28 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcolormapeditor.c: don't use the render buffer.
Use a white background until this widget is rewritten.
svn path=/trunk/; revision=24455
2007-12-28 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpsamplepointeditor.c
(gimp_sample_point_editor_points_changed): fix my last commit to
this file (don't access sample points of NULL images).
svn path=/trunk/; revision=24454
2007-12-28 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_update_highlight): When setting the
highlight, use the external rectangle representation, not the
internal one.
svn path=/trunk/; revision=24453
2007-12-28 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcairo-utils.[ch]: addec const qualifiers to
GimpRGB parameters.
* app/widgets/gimprender.[ch]: removed global variables for
checkerboard colors and introduced functions to get the
checkerboard colors as pointers to GimpRGB structs.
* app/actions/view-actions.c
* app/display/gimpdisplayshell-appearance.c
* app/widgets/gimpviewrenderer.c
* app/widgets/gimpcolormapeditor.c: changed accordingly.
svn path=/trunk/; revision=24451
2007-12-28 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcairo-utils.[ch]: added light and dark
check
color parameters to gimp_cairo_checkerboard_create().
* libgimpwidgets/gimpcellrenderercolor.c
* app/widgets/gimpviewrenderer.c (gimp_view_renderer_real_draw):
changed accordingly.
svn path=/trunk/; revision=24450
2007-12-28 Sven Neumann <sven@gimp.org>
* app/widgets/gimpviewrenderer.c (gimp_view_renderer_real_draw):
if the surface has CAIRO_CONTENT_COLOR_ALPHA, render it on a
checkerboard background.
* app/widgets/gimpviewrenderergradient.[ch]: just draw the
gradient with alpha-transparency instead of doing the blend on
the
checkerboard here.
* app/widgets/gimpcolormapeditor.c: formatting.
svn path=/trunk/; revision=24446
2007-12-27 Sven Neumann <sven@gimp.org>
* app/widgets/gimpthumbbox.c (gimp_thumb_box_new): enable line
wrapping on the info label.
svn path=/trunk/; revision=24439
2007-12-25 Michael Natterer <mitch@gimp.org>
* app/dialogs/file-save-dialog.c: forgot to port some debug output
to GIMP_LOG().
svn path=/trunk/; revision=24431
2007-12-21 Michael Natterer <mitch@gimp.org>
* app/xcf/xcf-save.c
* app/xcf/xcf-load.c: use accessors for colormap, parasites and
more item, layer, channel and mask properties instead of accessing
the object structs directly. Some minor style cleanups.
svn path=/trunk/; revision=24423
2007-12-20 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginmanager-menu-branch.[ch]: added accessor
for the list of menu branches.
* app/actions/plug-in-actions.c (plug_in_actions_setup): use it.
svn path=/trunk/; revision=24417
2007-12-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimpprofilechooserdialog.c: added code for adding
a
shortcut to the default ICC profile location on Windows. Based
on
a patch by John Marshall (bug #503410).
svn path=/trunk/; revision=24407
2007-12-19 Michael Natterer <mitch@gimp.org>
* app/core/gimp-contexts.[ch]
* app/core/gimp-documents.[ch]: add GErrors to save() and load().
* app/core/gimp.c
* app/tools/gimp-tools.c: handle the returned errors.
svn path=/trunk/; revision=24403
2007-12-18 Michael Natterer <mitch@gimp.org>
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c: use the proper APIs to get/set many item,
layer, channel and vectors properties instead of reading/writing
their struct members directly.
svn path=/trunk/; revision=24397
2007-12-18 Sven Neumann <sven@gimp.org>
* app/widgets/gimpgradienteditor.c: don't rely on the pointer
position in the GdkEventMotion struct, query the pointer instead.
svn path=/trunk/; revision=24395
2007-12-18 Sven Neumann <sven@gimp.org>
* app/display/gimpnavigationeditor.c: minor cleanup.
* app/widgets/gimpnavigationview.c
(gimp_navigation_view_motion_notify): fixed handling of motion
events that broke when I introduced the call to
gdk_event_request_motions().
svn path=/trunk/; revision=24394
2007-12-18 Sven Neumann <sven@gimp.org>
* app/core/gimppalette-import.c
* app/core/gimppalette-load.[ch]: applied slightly modified patch
from Nicola Archibald that adds import of colors from CSS files
(bug #464480).
* app/core/gimppalette.c (gimp_palette_find_entry): allow to call
this function on an empty palette.
svn path=/trunk/; revision=24393
2007-12-18 Sven Neumann <sven@gimp.org>
* app/base/tile-pyramid.c: use the coordinate parameters in
tile_data_pointer() instead of adjusting the pointer manually.
svn path=/trunk/; revision=24392
2007-12-18 Sven Neumann <sven@gimp.org>
* app/base/tile-manager.[ch]: renamed tile_manager_validate() to
tile_manager_validate_tile(). If no validate_proc is set,
initialize the tile data to all zero when validating it. This way
we never hand out uninitialized data and valgrind doesn't need to
complain any longer.
* app/base/tile.c: changed accordingly.
* app/core/gimpselection.c: no need to set an extra validate_proc
here as the default implementation now does the job for us.
svn path=/trunk/; revision=24389
2007-12-16 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcairo-utils.[ch]: added new function
gimp_cairo_set_focus_line_pattern().
* libgimpwidgets/gimpcellrenderercolor.c
(gimp_cell_renderer_color_render): use the focus line pattern to
emphasize the selected entry.
* app/widgets/gimppaletteview.c (gimp_palette_view_expose): use
the
new utility function.
* libgimpwidgets/gimpwidgets.def: updated.
svn path=/trunk/; revision=24371
* app/widgets/gimphelp-ids.h
* app/display/gimpdisplayshell-scale.[ch]
* app/display/gimpnavigationeditor.[ch]
* app/actions/view-commands.[ch]
* app/actions/view-commands.c:
Changed "Fit Image to Window" to "Fill Window", and changed
"fit-to" to "fill" in all the related things. Fixes
bug #490364.
svn path=/trunk/; revision=24370
2007-12-14 Martin Nordholts <martinn@svn.gnome.org>
Reverted the changes that made GimpRectangleTool keep track of its
active display in GimpRectangleToolPrivate, the approach is
broken.
svn path=/trunk/; revision=24364
2007-12-14 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/edit.pdb: use gimp_pdb_get_buffer() which
sets a proper error instead of looking up the buffers manually.
* app/pdb/edit_cmds.c: regenerated.
svn path=/trunk/; revision=24363
2007-12-14 Michael Natterer <mitch@gimp.org>
* app/core/gimp-edit.[ch]: added GErrors when functions can fail.
* app/actions/edit-commands.c: handle the returned errors.
* tools/pdbgen/pdb/edit.pdb: same here (*don't* pass the error as
usual since these functions never fail but have a boolean return
value indicating success instead; ugly, but better than having the
gimp_message() calls in the core). Also changed the named buffer
cut and copy functions to do the same (never fail but return a
NULL buffer name on failure), so they behave as documented.
* app/pdb/edit_cmds.c: regenerated.
svn path=/trunk/; revision=24362
2007-12-13 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.[ch]: Changed name of
`gimp_rectangle_tool_is_active_at' to
`gimp_rectangle_tool_is_active_on_display'.
* app/tools/gimpcroptool.c
* app/tools/gimprectangleselecttool.c: Use the new name.
svn path=/trunk/; revision=24360
2007-12-13 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.[ch]: Don't use the `display' member
of GimpTool for keeping track of what display the rectangle is
active on. Instead store the active display in
GimpRectangleToolPrivate. This change is based on a patch by Bill
Skaggs.
(gimp_rectangle_tool_is_active)
(gimp_rectangle_tool_is_active_at)
(gimp_rectangle_tool_get_active_display): New public functions for
GimpRectangleTool active-display interaction.
* app/tools/gimpellipseselecttool.c
(gimp_ellipse_select_tool_select): Use the active display of
GimpRectangleTool instead of tool->display.
* app/tools/gimprectangleselecttool.c
(gimp_rect_select_tool_rectangle_changed): Use the active display
of GimpRectangleTool instead of tool->display.
* app/tools/gimpcroptool.c
(gimp_crop_tool_button_press): Use the active display of
GimpRectangleTool instead of tool->display.
svn path=/trunk/; revision=24358
2007-12-13 Sven Neumann <sven@gimp.org>
* app/base/temp-buf.c (temp_buf_demultiply): corrected formula
for
demultiplying the alpha value.
svn path=/trunk/; revision=24356
2007-12-13 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_release): Make canceling work a bit
better.
svn path=/trunk/; revision=24355
2007-12-13 Sven Neumann <sven@gimp.org>
* app/base/tile-pyramid.c (tile_pyramid_write_quarter)
* app/display/gimpdisplayshell-render.c
(render_image_tile_fault_nearest): corrected formula used for
pre-multiplying the alpha value.
svn path=/trunk/; revision=24353
2007-12-13 Sven Neumann <sven@gimp.org>
Speed up our display rendering code paths by keeping data with
pre-multiplied alpha where possible. The projection tile-manager
at 100 % zoom is not affected. So we can still always get the
non-pre-multiplied pixel data.
* app/core/gimpprojection.[ch]: removed
gimp_projection_get_opacity(), the projection is always opaque.
* app/base/tile-pyramid.[ch]: use pre-multiplied alpha for the
upper levels of the pyramid. This speeds up validation of the
upper levels significantly.
* app/base/temp-buf.[ch]: added temp_buf_demultiply().
* app/core/gimpimage-preview.c: demultiply the preview temp-buf
obtained from the projection's tile tyramid.
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell-render.c: added code to deal with
pre-multiplied data. In fact all data returned by
render_image_tile_fault() is now pre-multiplied so that
render_image_rgb_a() and render_image_gray_a() don't need to use
the large lookup tables from gimprender.[ch] any longer.
svn path=/trunk/; revision=24352
2007-12-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimprender.[ch]: export the light and dark check
color so that places that just need this information don't have to
access the gimp_render_blend_{dark,light}_check arrays.
* app/actions/view-actions.c
* app/display/gimpdisplayshell-appearance.c
* app/widgets/gimpcolormapeditor.c: changed accordingly.
svn path=/trunk/; revision=24351
2007-12-12 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c: Extended public interface a bit.
(gimp_rectangle_tool_point_in_rectangle): New convenience function
to test if a point is within the rectangle (if active).
(gimp_rectangle_tool_rectangle_is_new): New function so that
clients can determine if the rectangle currently being
rubber-banded was created from scatch or not.
svn path=/trunk/; revision=24343
2007-12-12 Michael Natterer <mitch@gimp.org>
* app/paint/gimpheal.c: no need to declare init() and class_init(),
these declarations come for free with G_DEFINE_TYPE().
svn path=/trunk/; revision=24337
2007-12-12 Michael Natterer <mitch@gimp.org>
* app/core/gimplayer-floating-sel.c (floating_sel_to_layer): add
missing return value, this is no void function any more.
svn path=/trunk/; revision=24336
2007-12-12 Sven Neumann <sven@gimp.org>
* INSTALL
* configure.in
* app/gui/gui.c (GTK_REQUIRED_MICRO): bumped minimum required
version of gtk+ to 2.12.1.
* app/widgets/gimpdockbook.c (gimp_dockbook_tab_drag_motion):
removed unused parameter that was needed for gtk+ < 2.12.1.
svn path=/trunk/; revision=24334
2007-12-12 Tor Lillqvist <tml@novell.com>
* app/base/tile-private.h
* app/base/tile-swap.c: Move the LARGE_SEEK and LARGE_TRUNCATE
macros from tile-private.h to tile-swap.c as they aren't used
anywhere else, and the helper function used on Windows was static
in tile-swap.c anyway. (#503124)
svn path=/trunk/; revision=24331
* app/paint/gimpheal.c: heal from edge of brush mask
instead of edges of paint area.
* app/paint/gimpbrushcore.[ch]: export
gimp_brush_core_get_brush_mask() to enable use of mask.
svn path=/trunk/; revision=24324
2007-12-11 Michael Natterer <mitch@gimp.org>
* app/pdb/Makefile.am
* app/pdb/gimppdb-utils.[ch]: new utility functions which look up
brushes, patterns etc. and set appropriate error messages if the
objects are not found.
* tools/pdbgen/pdb/brush.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/buffer.pdb
* tools/pdbgen/pdb/context.pdb
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/paint_tools.pdb
* tools/pdbgen/pdb/palette.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/pattern.pdb
* tools/pdbgen/pdb/patterns.pdb: use them here. Also set non_empty
to TRUE for all brush, pattern etc. names.
* app/pdb/brush_cmds.c
* app/pdb/brushes_cmds.c
* app/pdb/buffer_cmds.c
* app/pdb/context_cmds.c
* app/pdb/convert_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/paint_tools_cmds.c
* app/pdb/palette_cmds.c
* app/pdb/palettes_cmds.c
* app/pdb/pattern_cmds.c
* app/pdb/patterns_cmds.c: regenerated.
svn path=/trunk/; revision=24318
2007-12-11 Sven Neumann <sven@gimp.org>
* libgimpbase/gimpprotocol.c: made the code more robust against
errors on the wire protocol level.
* app/plug-in/gimpplugin-message.c: added sanity checks to message
handlers. This doesn't keep us from crashing on invalid input, but
we will at least get some warnings before that happens.
svn path=/trunk/; revision=24317
2007-12-09 Hans Breuer <hans@breuer.org>
* app/gimp-log.h : an ugly but working variant for no varargs macros
* app/base/base-utils.c(get_physical_memory_size) : fallback to
GetMemoryStatus() for older compiler/sdk
* app/core/gimplayer-floating-sel.c : second argument to g_set_error()
is an uint32, not a pointer
svn path=/trunk/; revision=24306
* app/display/gimpdisplayshell-draw.c: draw grid correctly when
non-integer spacing is combined with a large offset. Fixes
bug #502374.
* app/core/gimpimage-snap.c: make snapping to grid work when
coord is less than the grid offset.
svn path=/trunk/; revision=24294
2007-12-07 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_tool_events): if a device change happens, make
sure we update the new active tool's focus display and modifier
state. Fixes most of bug #493176.
svn path=/trunk/; revision=24288
2007-12-07 Michael Natterer <mitch@gimp.org>
* app/core/gimpselection.[ch]: added GErrors to
gimp_selection_extract() and gimp_selection_float().
* app/core/gimp-edit.c
* app/tools/gimpeditselectiontool.c
* app/actions/select-commands.c: handle the returned error.
* app/core/gimpdrawable-transform.c: pass NULL errors since this
file knows what it does and won't get errors.
* tools/pdbgen/pdb/selection.pdb: pass the error.
* app/pdb/selection_cmds.c: regenerated.
svn path=/trunk/; revision=24286
2007-12-07 Sven Neumann <sven@gimp.org>
* app/batch.c (batch_run): only show the message about using the
default batch interpreter when running in verbose mode.
svn path=/trunk/; revision=24281
2007-12-06 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_set_property): Also update the integer
representation of the rect when the GObject properties has been
set.
svn path=/trunk/; revision=24277
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=24274
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-05 Martin Nordholts <martinn@svn.gnome.org>
* app/actions/tool-options-commands.c
(tool_options_save_to_cmd_callback)
(tool_options_restore_from_cmd_callback): Only care about
GIMP_CONFIG_PARAM_SERIALIZE properties, fixes bug #498948.
svn path=/trunk/; revision=24269
2007-12-05 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/fileops.pdb: pass the error also to
file_utils_filename_to_uri().
* app/pdb/fileops_cmds.c: regenerated.
svn path=/trunk/; revision=24268
2007-12-05 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/image.pdb (set_resolution): set the error
instead of using gimp_message().
* app/pdb/image_cmds.c: regenerated.
svn path=/trunk/; revision=24266
2007-12-05 Michael Natterer <mitch@gimp.org>
* app/pdb/gimppdb-query.[ch]: added GError arguments and reduce
number of labels: to one by simply checking if the regex exists
before unreffing it.
* tools/pdbgen/pdb/procedural_db.pdb: pass the error to the query
functions.
* app/pdb/procedural_db_cmds.c: regenerated.
svn path=/trunk/; revision=24265
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/palette.pdb
* tools/pdbgen/pdb/brush.pdb: use the new error arg instead
of creating a GError and handling it internally.
* app/pdb/palette_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/brush_cmds.c: regenerated.
svn path=/trunk/; revision=24262
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-03 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/fileops.pdb: pass the new error down to all
file functions which take GError arguments.
* app/pdb/fileops_cmds.c: regenerated.
svn path=/trunk/; revision=24258
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-30 Sven Neumann <sven@gimp.org>
* app/base/tile-manager.c (tile_manager_invalidate_area): if no
tiles have been allocated, there's no need to invalidate any.
Should fix bug #500178.
svn path=/trunk/; revision=24244
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/actions/drawable-commands.c (drawable_flip_cmd_callback):
fixed orientation type used for linked items (bug #499161).
svn path=/trunk/; revision=24238
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-26 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.c (gimp_widget_accel_changed):
escape text before using it in Pango text markup.
svn path=/trunk/; revision=24235
2007-11-24 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.[ch]: Renamed RECT_* identifiers of
the GimpRectangleFunction enum to GIMP_RECTANGLE_TOOL_*.
* app/tools/gimprectangleselecttool.c: Use the new names.
svn path=/trunk/; revision=24226
2007-11-24 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.[ch]: Ported the internal
representation of the rectangle to gdouble:s instead of
gint:s. This solves problems like not being able to swap portrait
for landscape on very small rectangle and bug #442027, as well as
provides a nice base to solve other similar problems when they are
discovered. It is possible to choose what precision the
GimpRectangleTool:s will appear to have externally through a new
GimpRectanglePrecision enum and property, but the gdouble
precision mode still requires some work in order to be useful. In
the processes quite some refactoring has taken place, mostly
restructuring code and splitting larger functions into smaller
more managable ones.
(gimp_rectangle_tool_rect_rubber_banding_func)
(gimp_rectangle_tool_setup_snap_offsets)
(gimp_rectangle_tool_apply_fixed_rule)
(gimp_rectangle_tool_update_int_rect)
(gimp_rectangle_tool_get_public_rect): New helper functions.
* app/tools/tools-enums.h: Added GimpRectanglePrecision.
svn path=/trunk/; revision=24224
2007-11-22 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolorbar.[ch]: derive from GtkEventBox instead
of GtkMisc, but use an input-only window.
* app/tools/gimplevelstool.c: redirect the events of the color
bars to te handle bars. The historgram dialog has this change
already. Functionality should be 100% restored now.
svn path=/trunk/; revision=24218
2007-11-22 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimphelpui.[ch]: use
gtk_widget_set_tooltip_text() from gimp_help_set_help() and added
gimp_help_set_help_data_with_markup() for the cases where markup
is needed.
* libgimpwidgets/gimpwidgets.def: updated.
* app/tools/gimpselectionoptions.c
* app/widgets/gimpeditor.c
* app/widgets/gimpwidgets-utils.c: use the new function where markup
in tooltips is being used.
* app/widgets/gimptoolbox-color-area.c: no need to escape the
ampersand any longer.
svn path=/trunk/; revision=24217
2007-11-22 Michael Natterer <mitch@gimp.org>
* app/tools/gimplevelstool.[ch]: use a GimpHandleBar also for the
input frame, added a second adjustment for gamma and map between
the linear and logarithmic gamma values in the adjustment
callbacks, get rid of one GtkFrame just as in the histogram
dialog. Still not finished since mouse events on the color bars
are currently not handled.
svn path=/trunk/; revision=24214
2007-11-21 Sven Neumann <sven@gimp.org>
* app/config/gimpguiconfig.c: use "open %s" as the default
web-browser command on Mac OS X.
svn path=/trunk/; revision=24211
2007-11-20 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainercombobox.c: set the combo insensitive
when it has no items. Fixes bug #498511.
svn path=/trunk/; revision=24204
2007-11-20 Michael Natterer <mitch@gimp.org>
* app/tools/gimplevelstool.[ch]: use a GimpHandleBar widget for
the output sliders. Removes a bunch of code already, more to
come...
svn path=/trunk/; revision=24203
2007-11-20 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-types.h
* app/widgets/Makefile.am
* app/widgets/gimphandlebar.[ch]: new widget implementing the slider
bar known from histogram and levels.
* app/widgets/gimphistogrambox.[ch]: use the new widget. General
cleanup and UI streamlining.
svn path=/trunk/; revision=24198
2007-11-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcurveview.[ch]: draw a base-line with the
grid.
Not sure if this should stay enabled for the Curves tool...
svn path=/trunk/; revision=24196
2007-11-18 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleselecttool.c: Cosmitics. More strictly
align static function prototypes and consistently use the name
rect_sel_tool for pointers to GimpRectSelectTool.
svn path=/trunk/; revision=24192
2007-11-18 Michael Natterer <mitch@gimp.org>
* app/gimp-log.[ch]: changed to work with different
compiler-specific ways of doing macro varargs also cope with no
macro vararg support at all. Pointed out by Hans Breuer.
svn path=/trunk/; revision=24184
2007-11-17 Sven Neumann <sven@gimp.org>
* app/base/base-utils.c (get_physical_memory_size): added a cast
to avoid an integer overflow on 32bit machines.
svn path=/trunk/; revision=24182
2007-11-17 Sven Neumann <sven@gimp.org>
* app/base/base-utils.[ch]: changed to
get_physical_memory_size()
and added an implementation for POSIX.2 platforms.
svn path=/trunk/; revision=24180
2007-11-16 Michael Natterer <mitch@gimp.org>
* app/gimp-log.[ch]: add HELP log domain.
* app/widgets/gimphelp.c: port debug output to GIMP_LOG() and
improve it.
svn path=/trunk/; revision=24177
2007-11-16 Tor Lillqvist <tml@novell.com>
* app/base/base-utils.c
* app/base/base-utils.h (get_physical_memory_size_megabytes): New
function that Sven asked for. Somebody please fill in Unix
implementation(s).
svn path=/trunk/; revision=24175
2007-11-16 Sven Neumann <sven@gimp.org>
* app/base/lut-funcs.c (equalize_lut_setup): make sure we don't
get stuck in a loop if all pixels are transparent (bug #497291).
svn path=/trunk/; revision=24172
2007-11-15 Sven Neumann <sven@gimp.org>
* app/tools/gimpselectionoptions.c (gimp_selection_options_gui):
plugged a memory leak.
* libgimpwidgets/gimpintstore.c (gimp_int_store_add_empty):
initialize the iter to avoid using uninitialized memory.
svn path=/trunk/; revision=24169
2007-11-15 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimp-log.[ch]: new files implementing a log facility which
can be enabled using the GIMP_LOG environment variable.
* app/main.c: initialize it.
* app/display/gimpdisplayshell-callbacks.c: use it instead of
private debugging macros that need to be enabled at compile time.
svn path=/trunk/; revision=24160
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=24159
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-14 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolorframe.[ch]: replaced the number label with
a big Cairo-drawn number below the color value labels.
svn path=/trunk/; revision=24157
2007-11-14 Michael Natterer <mitch@gimp.org>
* app/display/gimpcanvas.c
* app/widgets/gimpcurveview.c: free the cached PangoLayouts in
GtkWidget::style_set().
* app/widgets/gimppaletteview.c: draw the focus rectangle in
hardcoded black/white since we also hardcode the grid color to
black.
* app/display/gimpstatusbar.c
* app/widgets/gimpdockable.c: small cleanups while reviewing
layout code.
svn path=/trunk/; revision=24156
2007-11-14 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolorframe.[ch]: replaced the number label with
a big Cairo-drawn number below the color value labels.
svn path=/trunk/; revision=24155
2007-11-13 Martin Nordholts <martinn@svn.gnome.org>
Avoid GimpRectangleTool internals to make use of its public own
interface by making gimp_rectangle_tool_get_other_side() work on
pointers to members instead of GObject property names.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_set_other_side_coord)
(gimp_rectangle_tool_get_other_side_coord): Use
gimp_rectangle_tool_get_other_side() in the new way.
svn path=/trunk/; revision=24152