2006-04-03 Sven Neumann <sven@gimp.org>
* app/tools/gimpscaletool.c: added a GimpSizeBox as a replacement
for the InfoDialog widgets. Needs more work ...
2006-03-31 Sven Neumann <sven@gimp.org>
* app/dialogs/Makefile.am
* app/dialogs/dialogs-types.h
* app/dialogs/dialogs.c
* app/dialogs/info-dialog.[ch]: good bye InfoDialog.
* app/tools/gimpperspectivetool.[ch]
* app/tools/gimprotatetool.[ch]
* app/tools/gimpsheartool.[ch]
* app/tools/gimptransformtool.[ch]: use GimpToolDialog instead of
InfoDialog and add the widgets manually.
* app/tools/gimpscaletool.c: commented out use of InfoDialog. This
tools still needs to be ported to GimpToolDialog.
2006-03-27 Sven Neumann <sven@gimp.org>
* app/tools/gimpforegroundselectoptions.c
* app/tools/gimpforegroundselecttool.c: use Ctrl to switch between
foreground and background refinement.
2006-03-26 Karine Delvare <edhel@gimp.org>
* app/tools/gimpcropoptions.c
* app/tools/gimprectangleoptions.[ch]
* app/tools/gimprectangletool.[ch]: moved options gui creation
from the tool to the options.
* app/tools/gimpselectionoptions.c
* app/tools/gimpnewrectselecttool.[ch]
* app/tools/gimpellipseselecttool.[ch]: ported ellipse selection
tool to the new rectangle interface.
2006-03-25 Michael Natterer <mitch@gimp.org>
* app/tools/gimpclonetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpforegroundselecttool.c
* app/tools/gimpselectiontool.c
* app/tools/gimpvectortool.c (GimpTool::oper_update): don't push
status messages when shell->proximity is FALSE. Make sure the old
status message gets popped regardless of shell->proximity's
value. Fixes stuck status bar messages.
2006-03-24 Sven Neumann <sven@gimp.org>
* app/tools/gimprectselecttool.c: renamed from "Rect Select" to
"Rectangle Select" (bug #335715).
* app/core/gimpchannel-select.c (gimp_channel_select_rectangle):
string change (bug #335715).
* plug-ins/common/svg.c: follow the change to the file format
label done in the shared-mime-info package (bug #335716).
* configure.in: fixed the --without-libtiff case in the summary
(bug #335764).
2006-03-17 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell.[ch]
* app/tools/gimpforegroundselectoptions.[ch]
* app/tools/gimpforegroundselecttool.c: allow to use red, green or
blue for the selection preview used by the foreground selection tool.
2006-03-02 Michael Natterer <mitch@gimp.org>
* app/core/gimppickable.[ch]: added new methods ::get_bytes() and
::flush()
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimpimagemap.c
* app/core/gimpprojection.c: implement ::get_bytes()
* app/core/gimpprojection.c: implement ::flush() (immediately
process both the idle renderer's queue and the unflushed update
areas, to make sure that any reading from the projection will
re-construct it).
* app/core/gimp-edit.c
* app/core/gimpchannel.c
* app/core/gimpimage-contiguous-region.c
* app/core/gimpimage-crop.c
* app/core/gimppalette-import.c
* app/paint/gimpclone.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpiscissorstool.c
* tools/pdbgen/pdb/image.pdb: use the pickable interface more
consistently when reading from any drawable or the projection, and
call gimp_pickable_flush() before doing so. Fixes bug #332933.
* app/core/gimpimage-pick-color.c: added comment why the we don't
call gimp_pickable_flush() here.
* app/pdb/image_cmds.c
* libgimp/gimpimage_pdb.c: regenerated.
2006-02-20 Karine Delvare <kdelvare@nerim.net>
* app/tools/gimprectangletool.c: zero division check should be
changed according to the aspect redefinition
2006-02-15 Sven Neumann <sven@gimp.org>
* app/widgets/gimptooldialog.c: do not unset focus-on-map for all
tool dialogs.
* app/tools/gimpcolorpickertool.c
* app/tools/gimpmeasuretool.c: explicitely do it here instead.
2006-02-14 Sven Neumann <sven@gimp.org>
Added some tool shortcuts:
* app/tools/gimpcroptool.c: Shift+C
* app/tools/gimpfuzzyselecttool.c: changed from Z to U.
* app/tools/gimpmagnifytool.c: Z.
* app/tools/gimpmeasuretool.c: Shift+M.
2006-02-07 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangletool.c: applied a patch from Dennis
Bjorklund that prevents a possible division by zero and fixes the
calculation of the center point.
2006-01-31 Sven Neumann <sven@gimp.org>
* app/tools/gimplevelstool.c (gimp_levels_tool_color_picker_new):
manually add the icons to the color picker buttons instead of
abusing the stock-id property. Fixes bug #325745.
2006-01-30 Michael Schumacher <schumaml@cvs.gnome.org>
* app/tools/gimpmeasuretool.c: use the closest corner of the
current pixel as origin. Fixes bug #329000.
2006-01-18 Michael Natterer <mitch@gimp.org>
* app/config/config-types.c: define GIMP_PARAM_STATIC_STRINGS
which is G_PARAM_STATIC_NAME|NICK|BLURB. Also define
GIMP_PARAM_READABLE, _WRITABLE and _READWRITE which include
GIMP_PARAM_STATIC_STRINGS.
* app/*/*.c: use them for all object properties so their
strings are not copied.
2006-01-14 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig-utils.[ch] (gimp_config_connect_full):
variant of gimp_config_connect() which allows the connected
objects to have different propertynames.
* app/widgets/widgets-enums.[ch]: removed enum GimpViewType...
* app/core/core-enums.[ch]: ...and added it here.
* app/widgets/gimpviewablebutton.[ch] (gimp_viewable_button_new):
added "button_preview_size" parameter so the button and popup
preview sizes can be specified separately.
* app/widgets/gimptemplateeditor.c: changed accordingly.
* app/widgets/gimpviewablebox.[ch] (gimp_prop_*_box_new):
new functions which take additional "view_type_prop" and
"view_size_prop" parameters and sync the passed context's
properties with the resp. properties of the viewable button.
* app/paint/gimppaintoptions.[ch]
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpclonetool.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimptextoptions.[ch]: added view-type and view-size
properties to the options objects and use the new viewable box
constructors so the selected view types and sizes are persistant
across sessions. Fixes bug #315443.
2006-01-07 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpdialog.c: implement GtkWidget::hide() and set
the the focus widget to NULL, so a focussed entry emits focus_out
and its callbacks are invoked immediately (before the call to
gtk_widget_hide() returns). Fixes crashes and warnings in tool
dialogs when hitting escape while a spinbutton is being edited.
* app/tools/gimptransformtool.c
(gimp_transform_tool_force_expose_preview): return silently
instead of warning when being called while the draw tool is not
active (same scenario as above).
2005-12-27 Michael Natterer <mitch@gimp.org>
Fixed incomplete core/ui separation of paint tools and paint
methods:
* app/core/core-enums.h
* app/core/gimpcontext.[ch]: added a "paint-info" property and API
so the current paint method can be selected without the need for
an active tool.
(gimp_context_real_set_tool): set the paint-info to
tool_info->paint_info so the paint method follows the active tool
just as the active image follows the active display.
* app/core/gimp.h (struct Gimp)
* app/core/gimppaintinfo.[ch]: added "standard_paint_info" API
and stuff to be consistent with other context object properties.
* app/paint/gimp-paint.c: set the paintbrush as
standard_paint_info.
* app/core/gimpstrokedesc.c (gimp_stroke_desc_new): removed the
hack of falling back to the paintbrush when there is no active
tool and use the active paint method instead. Fall back to the
standard paint method if there is no active one.
(nothing in the core uses the active tool any more now).
* app/widgets/gimpdeviceinfo.h: add the paint info to the
properties which are saved in devicerc.
Added identifiers (names) and stock-ids to GimpPaintInfo:
* app/core/gimppaintinfo.[ch] (gimp_paint_info_new): added
identifier and stock-id parameters.
* app/core/gimptoolinfo.c (gimp_tool_info_new): removed the hack
of setting the paint-info stock-id from the tool-info stock-id.
* app/paint/paint-types.h
* app/paint/gimp-paint.c: changed GimpPaintRegisterCallback
accordingly.
* app/tools/gimp-tools.c (gimp_tools_register): changed paint
info names accordingly.
* app/paint/*.c (gimp_*_register): pass identifier and stock-id
accordingly.
2005-12-16 Sven Neumann <sven@gimp.org>
* app/paint/paint-enums.[ch]: changed description of
GIMP_CLONE_ALIGN_NO enum value.
* app/tools/gimpclonetool.c (gimp_clone_options_gui): use a combo
box for the align mode.
* app/tools/gimprectangletool.c: handle fixed_width,
fixed_height, and fixed_aspect in a reasonable way.
Also don't crash when user modifies aspect of a
nonexistent rectangle, and disconnect notify
handler in dispose.
* app/tools/gimprectangletool.c: don't crash when
user modifies width/height of nonexistent rectangle, and
make sure to disconnect option notify handlers in dispose.
Should fix bug #322396.
2005-11-21 Sven Neumann <sven@gimp.org>
* app/tools/gimpforegroundselectoptions.[ch]
* app/tools/gimpforegroundselecttool.c: renamed "discontiguous" to
"continuous", both in the UI and as a variable.
2005-11-19 Michael Natterer <mitch@gimp.org>
* app/tools/gimpaligntool.c
* app/tools/gimpcolortool.c
* app/tools/gimpfliptool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmovetool.c
* app/tools/gimptransformtool.c
* app/tools/gimpvectortool.c: started to get rid of all stock GDK
cursors in preparation of fixing bug #158407.
2005-11-06 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_picked):
when picking FG or BG color from an indexed layer, select its
index in the colormap editor. Fixes bug #320660.
* app/tools/gimprectangletool.c:
* app/tools/gimpnewrectselecttool.c Make clicking inside an existing
selection create rect matching the marching ants.
2005-10-20 Sven Neumann <sven@gimp.org>
* app/tools/gimpforegroundselectoptions.[ch]
* app/tools/gimpforegroundselecttool.c: renamed "multiblob"
property to "discontinuous" and added a check button for it.
* app/tools/gimpcroptool.c
* app/tools/gimpnewrectselecttool.c
* app/tools/gimprectangletool.c
* app/tools/gimprectangletool.h: move tool_control out of rectangle
tool and into users of it, and make rect select execute on leaving
but crop tool not. Also rename functions and clean up formatting
a bit.
* app/tools/gimprectangletool.c: "execute" the tool if the
user switches to a different tool or clicks in a different
image. Good for rect select, not so sure about crop.
2005-10-19 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.c (gimp_curves_tool_oper_update): set
cursor modifier and status bar hints to improve discoverability of
Curves tool features.
* app/tools/gimpaligntool.c: Remove bogus stuff about
weak pointers, and disconnect properly in dispose
callback instead of finalize, as suggested by mitch.
Fixes bug #314880.
2005-10-17 Sven Neumann <sven@gimp.org>
* app/base/base-enums.h
* app/base/siox.[ch]
* app/core/gimpdrawable-foreground-extract.[ch]
* app/tools/gimpforegroundselecttool.[ch]: export stateful SIOX to
the core API and use it from the foreground selection tool.
2005-10-17 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-foreground-extract.[ch]
* app/tools/gimpforegroundselectoptions.[ch]
* app/tools/gimpforegroundselecttool.c: added "multiblob"
property to GimpForegroundSelectOptions and pass it to
gimp_drawable_foreground_extract_siox().
2005-10-08 Karine Delvare <kdelvare@nerim.net>
* app/tools/gimpcroptool.c
* app/tools/gimpnewrectselecttool.c
* app/tools/gimprectangletool.c: added status bar info to tell the user
what to do once the rectangle area is drawn. Fixes bug #318267.
* gimp/app/paint/gimpbrushcore.c
* gimp/app/paint/gimpbrushcore.h
* gimp/app/paint/gimpclone.c
* gimp/app/paint/gimppaintbrush.c
* gimp/app/paint/gimppaintoptions.c
* gimp/app/paint/gimppaintoptions.h
* gimp/app/tools/gimppaintoptions-gui.c: Apply patch from
Adrian Likins to add "jitter" to paint tools (bug #163049),
with small fixes for coding style and default jitter set
to 0.2 instead of 0.0.
2005-09-26 Michael Natterer <mitch@gimp.org>
Allow to disable the color picker info dialog. Fixes bug #315011:
* app/tools/tools-enums.[ch] (enum GimpColorPickerMode): added
value GIMP_COLOR_PICK_MODE_PALETTE.
* app/tools/gimpcolorpickeroptions.[ch]: deprecated property
"add-to-palette" and added property "use-info-window". Changed
tool options GUI accordingly.
* app/tools/gimpcolorpickertool.c
(gimp_color_picker_tool_modifier_key): made <shift> toggle
the use-info-window property.
(gimp_color_picker_tool_picked): moved palette picking code
into the pick_mode switch() statement.
* app/tools/gimpcolortool.c (gimp_color_tool_cursor_update):
show a "plus" cursor when adding to the palette.
2005-09-25 Sven Neumann <sven@gimp.org>
* app/base/siox.[ch]: applied patch from Gerald Friedland and
Tobias Lenz. Introduces a hash table to speed up the algorithm
and changes the post-processing so that multiple disjunct objects
can be selected.
* app/tools/gimpforegroundselecttool.c: changed tooltip, the tool
doesn't any longer extract single objects only.
2005-09-24 Hans Breuer <hans@breuer.org>
* **makefile.msc : updated
* app/dialogs/user-install-dialog.c : only add the migrate page if
there is something to migrate from. Avoids on version being NULL.
* app/dialogs/file-save-dialog.c : the g_print() output was crashing
on the assumption that ->menu_label != NULL. It is for colorhtml.py.
* app/widgets/gimpselectiondata.c : use HAVE_UNISTD_H and move
* process.h definition by G_OS_WIN32 below it being defined
* app/widgets/gimpwidgets-utils.c(gimp_window_get_native) : cast
return value to (GdkNativeWindow) it is not necessary an int.
* libgimpwidgets/gimpwidgets.def : added gimp_zoom_type_get_type
* plug-ins/help/gimp-help-lookup.c : dynamic lookup of help_root
instead of hard-coding DATADIR/GIMP_HELP_PREFIX
* plug-ins/xjt/xjt.c : there is no pid_t with msvc, typedef one.
2005-09-25 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgets.def
* libgimpwidgets/gimpzoommodel.[ch]: added gimp_zoom_model_zoom()
and changed gimp_zoom_model_get_fraction() to take a model instead
of the zoom factor.
* app/display/gimpdisplayshell.[ch]: use a GimpZoomModel for the
display scale factor.
* app/actions/image-commands.c
* app/actions/view-actions.c
* app/actions/view-commands.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpnavigationeditor.c
* app/display/gimpstatusbar.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpmagnifytool.c: changed accordingly.
* app/widgets/widgets-enums.h: Moved the GimpZoomType enum from here...
* libgimpwidgets/gimpwidgetsenums.h: ...to here.
* app/widgets/widgets-enums.c
* libgimpwidgets/gimpwidgetsenums.c: regenerated.
* app/display/gimpdisplayshell-scale.[ch]: removed
gimp_display_shell_scale_zoom_step and
gimp_display_shell_scale_get_fraction from here...
* libgimpwidgets/gimpzoommodel.[ch]: ... to here so we can use these
utility functions in plug-ins and in the core.
Also removed the step-size property since the zoom-model now use
gimp_zoom_model_zoom_step.
* app/actions/view-commands.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpdisplayshell.c
* app/tools/gimpmagnifytool.c: modified accordingly.
* libgimp/gimpzoompreview.c: don't pass any argument to the
gimp_zoom_model_new function.
* libgimpwidgets/gimpwidgets.def: added gimp_zoom_model_zoom_step
(gimp_zoom_model_get_fraction was already there)
* devel-docs/app/app-sections.txt: removed
gimp_display_shell_scale_zoom_step and
gimp_display_shell_scale_get_fraction.
2005-09-16 Sven Neumann <sven@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_initialize):
set the imagemap tool dialogs transient to the image window. See
comments in bug #316521.
2005-09-13 Karine Delvare <kdelvare@nerim.net>
* app/tools/gimpcroptool.c
* app/tools/gimprectangleoptions.c
* app/tools/gimprectangletool.c
* app/tools/gimpnewrectselecttool.c: changed the way we stay inside
images boundaries so each tool decides whether it does or not.
2005-09-13 Karine Delvare <kdelvare@nerim.net>
* app/tools/gimprectangletool.c: don't modify the rectangle while
moving, and stick to edges when going out of image boundaries.
2005-09-10 Michael Natterer <mitch@gimp.org>
* app/tools/gimpiscissorstool.c (gimp_iscissors_tool_button_release):
use gimp_draw_tool_on_handle() to figure if we need to close the
path. Makes sure that the anchor's sensitive area matches its size
on screen. Fixes bug #134250.
2005-09-10 Michael Natterer <mitch@gimp.org>
* app/tools/gimpclonetool.c (gimp_clone_options_gui): moved the
"Sample merged" toggle below the "Image source" radio button.
Also fixed capitalization of "Sample merged".
2005-09-10 Michael Natterer <mitch@gimp.org>
* app/tools/gimpclonetool.c (gimp_clone_options_gui): moved the
"Sample Merged" toggle below the "Image Source" radio button.
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-02 Sven Neumann <sven@gimp.org>
* app/tools/gimptextoptions.c
* app/widgets/gimpwidgets-utils.[ch]: dropped the labels from text
tool options that have icons. Reduces visual clutter.
2005-08-29 Michael Natterer <mitch@gimp.org>
The previous commit added tons of code just to completely break
clone align behavior. Reverted lots of the changes and do the
sample-merged stuff at the innermost place (gimp_clone_motion).
This change also enables changing sample-merged between paint
strokes.
* app/paint/gimpclone.[ch] (struct GimpClone): changed member
"src_pickable" back to "src_drawable".
(gimp_clone_paint): completely reverted.
(gimp_clone_motion): do the drawable/projection -> pickable
stuff and drawable offset handling here.
Fixed signal handling to connect to the drawable's "removed"
signal (not "disconnect", eek). Disconnect from the signal once
the drawable has been removed.
* app/tools/gimpclonetool.c: changed accordingly.
2005-08-28 Michael Natterer <mitch@gimp.org>
Immplement "Sample Merged" for the clone tool. Fixes bug #123627.
* app/paint/gimppaintcore.[ch] (struct GimpPaintCore): added
members "saved_proj_tiles" which stores the unmodified projection,
"orig_proj_buf" which stores the unmodified temp paint application
buf and "use_saved_proj" which controls if all the additional
stuff should be allocated and managed.
(gimp_paint_core_start): allocate the saved_proj_tiles if needed.
(gimp_paint_core_get_orig_proj): new function like
gimp_paint_core_get_orig_image() which returns unmodified
projection pixels for paint application.
(gimp_paint_core_validate_saved_proj_tiles): new function like
gimp_paint_core_validate_undo_tiles() which copies the tiles that
will be dirtied to saved_proj_tiles.
(gimp_paint_core_paste): call above save_proj_tiles() so
projection tiles are saved before dirtying them.
* app/paint/gimpclone.[ch]: replaced member src_drawable by
src_pickable and use the image's projection if sample_merged it
TRUE. Adjust src offsets accordingly and use GimpPaintCore's new
get_orig_proj() API to get the src pixels.
* app/paint/gimpcloneoptions.[ch]: added boolean "sample_merged"
property.
* app/tools/gimpclonetool.c: follow GimpClone's src_drawable ->
src_pickable change.
(gimp_clone_tool_button_press): set the paint_core's
"use_saved_proj" boolean before chaining up.
(gimp_clone_options_gui): add a "Sample Merged" toggle button.
2005-08-21 Michael Natterer <mitch@gimp.org>
* app/tools/gimpselectionoptions.c (gimp_selection_options_gui):
the "Antialias" toggle got lost, resurrect it.
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/tools/gimpforegroundselecttool.c: removed reference to SIOX
algorithm from tooltip, it's an implementation detail.
2005-08-10 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.c: small fixes to the cursors - now
the handles have their respective cursor as well.
2005-08-09 Michael Natterer <mitch@gimp.org>
* cursors/gimp-tool-cursors.xcf: changed path tool cursor to
actually show a path and added 3 new cursors which are supposed
to show a path's anchor, handle and segments. Someone really
needs to beautify these...
* cursors/tool-paths.png
* cursors/xbm/tool-paths-mask.xbm
* cursors/xbm/tool-paths.xbm: changed accordingly.
* cursors/Makefile.am
* cursors/tool-paths-anchor.png
* cursors/tool-paths-control.png
* cursors/tool-paths-segment.png
* cursors/xbm/tool-paths-anchor-mask.xbm
* cursors/xbm/tool-paths-anchor.xbm
* cursors/xbm/tool-paths-control-mask.xbm
* cursors/xbm/tool-paths-control.xbm
* cursors/xbm/tool-paths-segment-mask.xbm
* cursors/xbm/tool-paths-segment.xbm: new files.
* app/widgets/widgets-enums.h (enum GimpToolCursorType): added
PATH_ANCHOR, PATH_CONTROL and PATH_SEGMENTS.
* app/widgets/gimpcursor.c: added the new cursors.
* app/tools/gimpvectortool.c (gimp_vector_tool_cursor_update):
use them.
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-08 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-draw.c (gimp_display_shell_get_pen_gc)
* app/tools/gimpforegroundselecttool.c: use round joins for the
brush strokes.
2005-08-08 Sven Neumann <sven@gimp.org>
* app/tools/gimpforegroundselecttool.c: do not attempt foreground
extraction until the user has specificied a foreground area.
2005-08-08 Sven Neumann <sven@gimp.org>
* app/tools/gimpforegroundselecttool.c
(gimp_foreground_select_tool_draw): do not use drawable offsets.
Disabled the rectangle indicating the working area.
2005-08-07 Sven Neumann <sven@gimp.org>
* app/tools/gimpforegroundselecttool.c
(gimp_foreground_select_tool_draw): show the extents of the working
area if the user moves the mouse out of it. Is this useful?
* app/tools/gimpforegroundselectoptions.c: removed colons from labels.
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/display/gimpdisplayshell-draw.c (gimp_display_shell_draw_pen):
* app/tools/gimpforegroundselecttool.c: ccorrectly handle a stroke
consisting of just a single point.
2005-08-06 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimppropwidgets.[ch]
* libgimpwidgets/gimpwidgets.def: added gimp_prop_hscale_new().
* app/tools/gimpforegroundselectoptions.c: added a control for the
stroke width.
* app/tools/gimpforegroundselecttool.c: cancel the tool if the
active drawable or the image size changes.
* app/widgets/gimpcontrollerlist.c: fixed signedness warning.
2005-08-06 Sven Neumann <sven@gimp.org>
* app/display/gimpcanvas.c (gimp_canvas_set_custom_gc) do not
drop the reference if the same custom GC is being set again.
* app/display/gimpdisplayshell-draw.[ch]
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell.[ch]: added GC and methods to draw
on the canvas with a solid pen.
* app/tools/gimpforegroundselectoptions.[ch]
* app/tools/gimpforegroundselecttool.c: draw using the new pen
functions. Scale the stroke width with the 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-02 Sven Neumann <sven@gimp.org>
* app/tools/gimpforegroundselectoptions.[ch]
* app/tools/gimpforegroundselecttool.[ch]: some code cleanup; moved
stroke width to the tool options.
2005-07-31 Sven Neumann <sven@gimp.org>
* app/tools/Makefile.am
* app/tools/gimpforegroundselectoptions.[ch]: added options for
GimpForegroundSelectionTool.
* app/tools/gimpforegroundselecttool.c: also allow to classify
background pixels.
* app/tools/gimpfreeselecttool.c: implement GimpTool::control and
reset the points array if the tool is HALTed.
2005-07-31 Sven Neumann <sven@gimp.org>
* app/tools/gimpforegroundselecttool.c: give some visual feedback
when the user is drawing. Should use a different GC though.
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-30 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell.[ch]: renamed overlay to mask and
added a different overlay implementation that will be needed to
finish the new foreground-select tool.
* app/tools/gimpforegroundselecttool.c: changed accordingly.
2005-07-30 Sven Neumann <sven@gimp.org>
* app/tools/gimptoolcontrol.[ch]: transparently handle cursor
vs. toggle cursor in the cursor accessor functions.
* app/tools/gimpconvolvetool.c
* app/tools/gimperasertool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimptool.c: simplifies things here.
* app/tools/gimpforegroundselecttool.c: set a toggle cursor and
toggle the tool if a mask is set.
2005-07-30 Sven Neumann <sven@gimp.org>
* app/tools/gimpforegroundselecttool.c: implement cursor_update().
Suppress standard selection tool functionality if a mask exists.
2005-07-30 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell.[ch]: added
gimp_display_shell_set_overlay(); allows to overlay a mask over the
display to visualize a selection.
* app/tools/gimpforegroundselecttool.[ch]: use the new functionality
to display the selection. Escape cancels the tool, Enter applies the
selection.
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/tools/gimpselectionoptions.c (gimp_selection_options_gui): no
antialiasing for the foreground selection tool (yet).
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-19 Sven Neumann <sven@gimp.org>
* app/tools/gimpvectortool.c (gimp_vector_tool_key_press): return
FALSE if the keypress event isn't handled because of a display
mismatch.
2005-07-18 Sven Neumann <sven@gimp.org>
* app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_start):
need to sort the boundary here since gimp_draw_tool_draw_boundary()
expects a sorted boundary now. Fixes bug #310432.
* app/tools/gimppainttool.c: formatting.
2005-07-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockable.[ch]: added new public function
gimp_dockable_blink_cancel() which stops title blinking.
* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_picked):
cancel blinking when updating a picked color so the dockable
doesn't flicker for each cursor movement.
2005-07-12 Michael Natterer <mitch@gimp.org>
* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui):
swapped the opacity scale and the paint mode menu to be consistent
with the layers dialog. Also makes the paint options look more
balanced.
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-06-27 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpenumcombobox.[ch]: added new constructor
gimp_enum_combo_box_new_with_model(). Also override the "model"
property to make it clear that GimpEnumComboBox expects to be
used with GimpEnumStore.
* libgimpwidgets/gimpwidgets.def: updated.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimpwidgets-constructors.c: use the new constructor.
* libgimpwidgets/gimpenumlabel.h
* libgimpwidgets/gimpenumstore.h
* libgimpwidgets/gimpintcombobox.h
* libgimpwidgets/gimpintstore.h: use "parent_class", not
"parent_instance" when including the parent struct.
2005-06-26 Tor Lillqvist <tml@novell.com>
* app/tools/gimppainttool.c (gimp_paint_tool_draw): Store the
GimpBrushCore::brush_bound_segs as sorted (the result of
sort_boundary), as the only place where it is used
(gimp_draw_tool_draw_boundary()) would sort it each time it is
called anyway.
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_boundary):
Correspondingly we now don't have to sort the boundary here.
2005-06-24 Tor Lillqvist <tml@novell.com>
* app/display/gimpcanvas.h: Add new GimpCanvasStyle value,
GIMP_CANVAS_STYLE_XOR_DOTTED.
* app/display/gimpcanvas.c (gimp_canvas_gc_new): Implement it like
GIMP_CANVAS_STYLE_XOR_DASHED, except that we set the dash pattern
to a single-pixel on-off one.
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_boundary): Sort
the boundary so that we can draw each connected group of segments
using gimp_canvas_draw_lines(). (Even if we would still use
gimp_canvas_draw_segments(), the boundary would have to be sorted
so that the XOR drawing and GDK_CAP_NOT_LAST cooperate properly.)
Use GIMP_CANVAS_STYLE_XOR_DOTTED so the outline doesn't look too
heavy.
Remove the dubious code snippet that offset some segments by one
pixel. It didn't do what the comment claimed, and why one would
need to do what the comment said, or what it actually did, is
unclear.
Now brush outlines shouldn't have gaps any longer. (#308710)
2005-06-11 Michael Natterer <mitch@gimp.org>
Allow to use the selected font in the text editor (bug #170299):
* app/widgets/gimptexteditor.[ch]: added a "Use selected font"
toggle and an API to set/get the selected font name.
* app/tools/gimptextoptions.c: update the editor's font when the
text option's font changes. Renamed text editor callbacks to
gimp_text_options_editor_foo().
* app/tools/gimpaligntool.[ch]: improve layout of controls. Add
radio buttons allowing selection of reference layer without
using Ctrl modifier. Handle removal of target or reference
layers from image more correctly. More to come.
2005-06-04 Sven Neumann <sven@gimp.org>
* app/tools/gimpmagnifytool.c (gimp_magnify_tool_button_release):
fix calculation of zoom offsets in the case that dot-for-dot mode
is not enabled (bug #306476).
* 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.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion):
Don't change function before creating new rectangle;
cause of problem identified by Karine Delvare.
2005-05-12 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.c: reset the vector tool to Design
mode whenever a new vectors object gets connected to the tool.
This time also when you pick a path in Edit mode (Oops).
2005-05-11 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.c: reset the vector tool to Design
mode whenever a new vectors object gets connected to the tool.
Attempt to fix#300663, please report there if you like / dislike
the new behaviour.
2005-05-07 Sven Neumann <sven@gimp.org>
* app/tools/gimpmagnifyoptions.c (gimp_magnify_options_gui):
removed the GUI for the Threshold option; it is more confusing
than useful.
2005-04-24 Hans Breuer <hans@breuer.org>
* menus/makefile.msc : build menus with nmake, too
menus/Makefile.am : added to EXTRA_DIST
* **/makefile.msc app/gimpcore.def : updated
* app/base/tmp-buf.c : there is no pid_t with msvc so typedef one
2005-04-17 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpsizeentry.c: use gimp_spin_button_new() which
calls gtk_spin_button_set_numeric() for us. Part of a fix for bug
#300935.
* libgimpwidgets/gimpwidgets.c: improved the API docs for
gimp_spin_button_new().
* app/tools/gimpcolorbalancetool.c
* app/tools/gimplevelstool.c
* plug-ins/common/screenshot.c
* plug-ins/ifscompose/ifscompose.c
* plug-ins/rcm/rcm_dialog.c
* plug-ins/script-fu/script-fu-interface.c
* plug-ins/winsnap/winsnap.c: use gimp_spin_button_new().
2005-04-15 Simon Budig <simon@gimp.org>
* app/tools/gimpnewrectselecttool.c: NULLified the Keyboard
Shortcut for the new rect select tool (clash with the Crop tool).
2005-04-13 Sven Neumann <sven@gimp.org>
* app/app_procs.c: register handler for the "GimpPaint" log domain.
* app/core/gimpdatafactory.c (gimp_data_factory_init): don't load
any data if TRUE is passed for no_data.
* app/tools/gimppainttool.c (gimp_paint_tool_draw): handle a NULL
brush gracefully.
2005-04-11 Michael Natterer <mitch@gimp.org>
Let the user decide whether tool options are persistant or not as
suggested in bug #165078:
* app/config/gimprc-blurbs.h
* app/config/gimpguiconfig.[ch]: added "gboolean save_tool_options".
* app/tools/gimp-tools.[ch]: implement the same logic as for
devicerc and essionrc: added gimp_tools_clear() which deletes the
stored tool options and added "save_tool_options" and
"always_save" parameters to gimp_tools_save(). Everything affects
just the primary tool options, *not* the separately saved presets
for each tool.
* app/gui/gui.c (gui_exit_callback): changed accordingly.
* app/dialogs/preferences-dialog.c: added GUI for the stuff above
in the style of the devicerc and seccionrc prefs GUIs.
2005-04-01 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_push): do nothing if
this message is at the top of the stack already.
2005-03-30 Sven Neumann <sven@gimp.org>
* app/tools/gimpvectortool.c (gimp_vector_tool_status_update):
set a different help message in polygonal mode. Fixes bug #172051.
* app/tools/gimptransformtool.c
* app/tools/gimpfliptool.c
* app/core/gimpdrawabletransform.c: avoid messages and critical
error when transforming a drawable that does not intersect
the selection.
2005-03-21 Michael Natterer <mitch@gimp.org>
* app/tools/gimpmeasuretool.[ch]: added width and height to the
info displayed in the statusbar and the info window.
Fixes bug #165275.
2005-03-19 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-sample-points.c
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell.c
* app/tools/gimpcolortool.c: make sure sample points always have
coordinates in the range [0..width/height-1], also added lots of
+0.5 because they live at the pixels' centers, not at their
borders. Fixed drawing of sample points at the display borders.
2005-03-12 Sven Neumann <sven@gimp.org>
* app/base/hue-saturation.[ch]
* app/tools/gimphuesaturationtool.[ch]: applied a patch from Joao
S. O. Bueno Calligaris and modified it a little. This adds a way
to control the overlap between hue ranges in the Hue Saturation
tool (bug #166628).