2008-07-14 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_setup): added some line breaks to
improve readability.
svn path=/trunk/; revision=26187
2008-07-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.[ch]
(gimp_display_shell_center_image): Allow to choose what axes to
center on.
(gimp_display_shell_scale_fill)
(gimp_display_shell_scale_fit_in): Explicitly center on both axes.
* app/display/gimpdisplayshell.c (gimp_display_shell_fill): Center
the image in the filled display shell. Rather hackish, but seems
to work fine.
svn path=/trunk/; revision=26185
2008-07-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_center_image): New function.
(gimp_display_shell_scale_fill)
(gimp_display_shell_scale_fit_in): Center the image at the end.
svn path=/trunk/; revision=26176
2008-07-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_setup_hscrollbar_with_value)
(gimp_display_shell_setup_vscrollbar_with_value): Use
gimp_display_shell_get_scaled_image_size() instead of inaccurately
calculate that information locally.
svn path=/trunk/; revision=26175
2008-07-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpnavigationeditor.c
(gimp_navigation_editor_popup): BORDER_PEN_WIDTH is a normal
constant, no need for voodoo.
svn path=/trunk/; revision=26170
2008-07-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.[ch]
(gimp_display_shell_get_scaled_image_size): New function that
contains logic previously kept in gimp_display_shell_draw_area().
* app/display/gimpdisplayshell-draw.c
(gimp_display_shell_draw_area): Use the new function.
svn path=/trunk/; revision=26168
2008-07-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_fill): Don't
ask gimp_display_shell_set_initial_scale() for display size, we
don't care anyway.
svn path=/trunk/; revision=26167
2008-07-12 Martin Nordholts <martinn@svn.gnome.org>
The following change is conceptually based on a patch by
Alexia Death and implements the core functionality for
bug #362915.
* app/display/gimpdisplayshell-scroll.[ch]
(gimp_display_shell_scroll_clamp_offsets): Clamp the offsets in
such a way that allows to scroll beyond the image border.
(gimp_display_shell_setup_hscrollbar_with_value)
(gimp_display_shell_setup_vscrollbar_with_value): Put common
scrollbar range setup code here.
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_setup): Use above helper functions for
setting up scrollbar range.
* app/display/gimpdisplayshell-callbacks.c: Handle adjustment of
the scrollbar range when they are about to change value.
* app/display/gimpdisplayshell.c: Always keep the scrollbar
steppers sensitive to user input.
svn path=/trunk/; revision=26166
2008-07-12 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c:
Replace gimp_display_shell_scroll() with
gimp_display_shell_center_around_image_coordinate() since that is
easier to map to something sensible when we allow to scroll beyond
image border.
* app/display/gimpnavigationeditor.c
(gimp_navigation_editor_marker_changed): Adapt to the new
interface.
svn path=/trunk/; revision=26162
2008-07-12 Martin Nordholts <martinn@svn.gnome.org>
* app/core/gimpmarshal.list: Added
VOID__DOUBLE_DOUBLE_DOUBLE_DOUBLE marshaller.
* app/widgets/gimpnavigationview.c: Make the "marker-changed"
signal also pass the marker width and height as parameters.
* app/display/gimpnavigationeditor.c: Updated accordingly.
svn path=/trunk/; revision=26160
2008-07-12 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_setup): The scrollbars should be setup
using the new offset, not the old counterpart.
svn path=/trunk/; revision=26154
2008-07-12 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_setup): Renamed the variables sx and sy
to sw and sh.
svn path=/trunk/; revision=26148
2008-07-12 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell.c: Kill disp_[xy]offset! We now
keep store that information by using negative values in
offset_[xy].
* app/display/gimpdisplayshell-scroll.[ch]
(gimp_display_shell_scroll_clamp_offsets)
(gimp_display_shell_get_scaled_image_viewport_offset): Adjust
accordingly to preserve current behaviour.
(gimp_display_shell_get_disp_offset): New function to get the old
disp_[xy]offset based on the new offset_[xy].
(gimp_display_shell_get_render_start_offset): New function to get
th old offset_[xy] based on the new offset_[xy].
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-render.c: Get rid of
disp_[xy]offset and use
gimp_display_shell_get_render_start_offset() and
gimp_display_shell_get_disp_offset() instead.
svn path=/trunk/; revision=26146
2008-07-11 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_setup): Restructure the way the rulers
are setup, partly by making use of the new nifty
gimp_display_shell_get_scaled_image_viewport_offset().
svn path=/trunk/; revision=26143
2008-07-11 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-transform.c
(gimp_display_shell_transform_xy_f)
(gimp_display_shell_untransform_xy_f): We can use
gimp_display_shell_get_scaled_image_viewport_offset() here
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_get_scaled_viewport): and here.
svn path=/trunk/; revision=26141
2008-07-11 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_get_scaled_image_viewport_offset): New
function to replace any occurance of
shell->disp_[xy]offset - shell->offset_[xy]
that is just an implementation specific way of saying the same
thing.
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell-transform.c: Make the code less
implementation dependant by using the new function.
svn path=/trunk/; revision=26137
2008-07-11 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.[ch]
(gimp_display_shell_get_viewport): Extend the interface with this
function.
* app/display/gimpnavigationeditor.c
(gimp_navigation_editor_update_marker): Use it here.
svn path=/trunk/; revision=26114
2008-07-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_get_scaled_viewport): Extend the interface
with this function
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_update_handle_sizes): Forget anything we knew
about how to interpret the icky GimpDisplayShell offset variables
svn path=/trunk/; revision=26111
2008-07-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.[ch]: Make
gimp_display_shell_scroll() a sane public interface for scrolling
and call the old version gimp_display_shell_scroll_private()
* app/display/gimpnavigationeditor.c: Adapt to the saner version
of gimp_display_shell_scroll()
* app/display/gimpdisplayshell-callbacks.c:
* app/display/gimpdisplayshell-autoscroll.c: Use the private
version of gimp_display_shell_scroll()
* app/display/Makefile.am: Added gimpdisplayshell-private.h
svn path=/trunk/; revision=26110
2008-07-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.[ch]: The return value of
gimp_display_shell_scroll() is not used anywhere, make it void.
svn path=/trunk/; revision=26109
2008-07-10 Sven Neumann <sven@sven-sun.berlin.jpk.com>
* app/display/gimpdisplayshell-progress.c
(gimp_display_shell_progress_message): swallow informational
messages if there aren't handled by the statusbar.
svn path=/trunk/; revision=26101
2008-07-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-close.c (gimp_display_shell_close):
if a save dialog is active for this image, then don't allow to
close it. Fixes bug #511965.
svn path=/trunk/; revision=26095
2008-07-09 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_progress_message):
don't accept a progress message if the status bar is already
showing a temporary message.
svn path=/trunk/; revision=26094
2008-07-05 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_scroll_clamp_offsets): Renamed the variales sx
and sy to sw and sh.
svn path=/trunk/; revision=26070
2008-07-03 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_events): don't use Escape to quit full-screen
mode, it collides with tools using the Escape key (bug #539949).
svn path=/trunk/; revision=26049
2008-05-29 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.c (gimp_scale_combo_box_init):
unset the entry's frame instead of reducing the inner border.
svn path=/trunk/; revision=25858
2008-05-28 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_setup): set the display unit on the ruler.
* libgimpwidgets/gimphruler.c (gimp_hruler_draw_ticks)
* libgimpwidgets/gimpvruler.c (gimp_vruler_draw_ticks): hack around
to get nicer subdivisions for rulers showing pixels.
svn path=/trunk/; revision=25839
2008-05-27 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-coords.c: revert velocity limit to
1.0, this part of the patch shouldn't have been applied.
svn path=/trunk/; revision=25824
2008-05-26 Sven Neumann <sven@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpruler.[ch]
* libgimpwidgets/gimphruler.[ch]
* libgimpwidgets/gimpvruler.[ch]: added ruler widgets. These are
mostly copied from GTK+ and work as a drop-in replacement for
GtkRuler and friends.
* libgimpwidgets/gimpwidgets.def: updated.
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-scale.c
* app/dialogs/resolution-calibrate-dialog.c
* plug-ins/imagemap/imap_preview.c
* plug-ins/gfig/gfig-preview.c: use the GimpRuler widgets.
svn path=/trunk/; revision=25820
2008-05-26 Michael Natterer <mitch@gimp.org>
Applied modified patch from Alexia Death. Addresses bug #534770:
* app/paint/gimppaintoptions.[ch]: add properties for scaling
the effects of pressure, velocity and hardness and honor them
in the various get_dynamic_foo() functions.
(gimp_paint_options_get_dynamic_size): look at
pressure_options->size again, that code got lost in one of the
earlier patches.
* app/tools/gimppaintoptions-gui.c: add GimpScaleButtons to the
table for the new properties.
* app/display/gimpdisplayshell-coords.c: don't let "velocity"
reach 1.0, use 0.9999 instead.
svn path=/trunk/; revision=25816
2008-05-22 Michael Natterer <mitch@gimp.org>
Applied slightly modified and fixed patch from Alexia Death which
adds a "random" axis to the paint dynamics and fixes some issues
in the previous paint dynamics commits. Fixes bug #529431.
* app/core/core-types.h: add a "random" axis to GimpCoords.
* app/display/gimpdisplayshell-coords.c: set it to a random value.
* app/display/gimpdisplayshell-callbacks.c: on button_press,
use the dynamics from the last motion event to avoid blotches
at the beginning of paint strokes.
* app/paint/gimppaintoptions.[ch]: add random properties the same
way we do pressure and velocity. Add get_dynamic_size(),
get_dynamic_color() and get_dynamic_hardness() functions which
look at all dynamic parameters of the passed coords.
* app/tools/gimppaintoptions-gui.c: add gui for the random options.
* app/paint/gimpbrushcore.[ch]: remove calc_brush_scale() and use
gimp_paint_options_get_dynamic_size_instead().
Add "dynamic_hardness" parameters to paste_canvas(),
replace_canvas() and get_brush_mask().
* app/paint/gimpairbrushoptions.c
* app/paint/gimpclone.c
* app/paint/gimpconvolve.c
* app/paint/gimpdodgeburn.c
* app/paint/gimperaser.c
* app/paint/gimpheal.c
* app/paint/gimppaintbrush.c
* app/paint/gimpsmudge.c: calculate the dynamic hardness and pass
it to above brush core functions. Use the get_dynamic_color() to
calculate the gradient color.
svn path=/trunk/; revision=25758
2008-05-16 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayoptions.c: disable rulers by default as
suggested by Peter. Please give feedback.
svn path=/trunk/; revision=25675