* 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.