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
2008-05-10 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_events)
(gimp_display_shell_canvas_tool_events):
don't reserve Delete for use by tools. Fixes bug #532116.
* app/tools/gimpimagemaptool.c
* app/tools/gimptransformtool.c: don't use Delete (you can still
use the Backspace key to achieve the same).
svn path=/trunk/; revision=25607
2008-05-10 Michael Natterer <mitch@gimp.org>
Applied modified patch from Alexia Death which adds velocity
support to paint tools in the spirit of the pressure support we
already have. Fixes bug #529431.
* app/display/gimpdisplayshell-coords.c
(gimp_display_shell_eval_event): tweak velocity calculation to
work in screen coordinates.
* app/paint/gimppaintoptions.[ch]: add velocity options in the
same way as there are pressure options. Add utility functions
which return dynamic opatity and dynamic rate according to the the
option's settings and some GimpCoords' pressure and velocity.
* app/tools/gimppaintoptions-gui.c: add GUI for the velocity
options.
* app/paint/gimpbrushcore.h: remove PRESSURE_SCALE define, it's
now in gimppaintoptions.h.
* app/paint/gimpbrushcore.c (gimp_brush_core_interpolate):
inerpolate velocity too.
(gimp_brush_core_calc_brush_scale): take velocity into account.
(gimp_brush_core_get_brush_mask): always pressurize the mask in
the GIMP_BRUSH_PRESSURE because there always is velocity (unlike
pressure which is only there on tablets).
* app/paint/gimpairbrush.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: get opacity and rate from the new paint
options utility functions which take both pressure and velocity
into account.
* app/paint/gimppaintbrush.c: take velocity into account when
calculating the gradient color offset.
* app/paint/gimpairbrush.c: do some additional fiddling with
velocity in the asynchronous airbrush timeout.
* app/paint/gimpairbrushoptions.c: override the velocity-size
property and have it default to FALSE.
svn path=/trunk/; revision=25604
2008-05-08 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_events): don't call gtk_widget_grab_focus() here.
(gimp_display_shell_canvas_tool_events): call it here instead and
add comments about how BUTTON_PRESS and FOCUS_IN interact.
Also return TRUE from BUTTON_PRESS, BUTTON_RELEASE and
MOTION_NOTIFY.
svn path=/trunk/; revision=25590
2008-05-08 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.c (gimp_scale_combo_box_init):
removed the entry's inner border to save some precious space in
the status-bar.
svn path=/trunk/; revision=25588
2008-05-08 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_events): move the focus to the canvas on
button-press events.
* app/widgets/gimpwindow.c (gimp_window_key_press_event):
removed
a use of G_UNLIKELY() that is somewhat bogus here.
svn path=/trunk/; revision=25587
2008-05-05 Sven Neumann <sven@gimp.org>
* app/tools/gimppainttool.c
* app/display/gimpdisplayshell-coords.c: applied patch from
Alexia
Death which changes the maximum smoothing for paint tools to
more
conservative default and adds velocity dependent smooth
suppression.
svn path=/trunk/; revision=25564
2008-04-30 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.c
(gimp_scale_combo_box_entry_key_press): also handle the Tab keys
and call the "activate" handler when Tab is pressed.
svn path=/trunk/; revision=25553
2008-04-30 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.c: install a "key-press-event"
handler and reset the entry when the Escape key is pressed.
svn path=/trunk/; revision=25552
2008-04-29 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.[ch]: added signal
"entry-activated".
* app/display/gimpstatusbar.c (gimp_statusbar_new): connect to
the
new signal and move the focus to the canvas.
* app/display/gimpdisplayshell.c (gimp_display_shell_new):
comment.
svn path=/trunk/; revision=25549
2008-04-28 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.c: keep the current scale value,
beep and reset the entry when the user input cannot be parsed.
Also changed the input parser to interpret a single number as a
percentage.
svn path=/trunk/; revision=25547
2008-04-28 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.[ch]: derive from
GtkComboBoxEntry.
Needs some more work with respect to input validation and focus
handling...
svn path=/trunk/; revision=25542
2008-04-28 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpwindow.[ch]: added GimpWindow class and moved
key-press-event handler from GimpDock to this class.
* app/widgets/gimpdock.[ch]:
* app/display/gimpdisplayshell.[ch]: derive from GimpWindow.
svn path=/trunk/; revision=25541
2008-04-22 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_frame_size_request):
take vertical padding into account to avoid resizing the statusbar.
svn path=/trunk/; revision=25512
2008-04-16 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-coords.c
(gimp_display_shell_eval_event): remove local "inertia" variable
and simply modify the passed "inertia_factor" when needed.
svn path=/trunk/; revision=25494
2008-04-15 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-coords.c
(gimp_display_shell_eval_event): fix calculation of filter
distance, it was missing a 1 / zoom_factor. Moved variables to
local scope. Remove resundant thistime variable. Turned const
gdouble into a #define.
svn path=/trunk/; revision=25490
2008-04-14 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: introduced a #define for the spacing
between the icon and the statusbar label.
svn path=/trunk/; revision=25484
2008-04-14 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]: rewritten the code that draws
the icon in the statusbar label. The new code gives nicer
spacing.
svn path=/trunk/; revision=25481
2008-04-14 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]: added stock-id parameters to
all
statusbar setters.
* app/display/gimpdisplayshell-title.c: pass NULL as stock-id.
* app/tools/gimptool.c: pass the tool icon to the statusbar.
* app/tools/gimpeditselectiontool.c
(gimp_edit_selection_tool_start):
inherit the tool-info from the parent tool.
svn path=/trunk/; revision=25477
2008-04-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimpunitcombobox.c: added "label-scale" style
property.
* app/display/gimpscalecombobox.[ch]: ditto. Also removed the
support for extra action items.
* app/display/gimpstatusbar.c: changed accordingly.
* themes/Default/gtkrc
* themes/Small/gtkrc: use a smaller font for the combo-box
labels
in the statusbar.
svn path=/trunk/; revision=25475
2008-04-11 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-appearance.c
(gimp_display_shell_appearance_update): don't show the status
bar's resize grip in fullscreen mode.
svn path=/trunk/; revision=25465
2008-04-10 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]
(gimp_statusbar_progress_message):
improved the check if the message can be shown in the statusbar.
Do not show messages that don't fit into the given space.
* app/gui/gui-message.c (gui_message_error_dialog): if there's
already an error dialog associated with a progress, then use it.
svn path=/trunk/; revision=25461
2008-04-07 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-coords.[ch]
* app/tools/gimppainttool.c
* app/tools/gimptool.[ch]: applied patch from Alexia Death as
attached to bug #508639. This change makes the smoothing depend on
the active tool.
svn path=/trunk/; revision=25392
2008-04-07 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplay-handlers.c (gimp_display_saved_handler):
use gimp_statusbar_push_temp() directly instead of going through
gimp_message(). Use the GTK_STOCK_SAVE icon for the statusbar
message.
svn path=/trunk/; revision=25388
2008-04-05 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplay.[ch]: added new function
gimp_display_close() which decides if gimp_display_delete() or
gimp_display_empty() needs to be called.
* app/display/gimpdisplay-foreach.[ch]: added new function
gimp_displays_close() and removed the 'do_quit' parameter from
gimp_displays_delete().
* app/gui/gui.c (gui_exit_callback): changed accordingly.
* app/display/gimpdisplayshell-close.c: removed
gimp_display_shell_really_close() and call gimp_display_close()
instead.
* app/display/gimpdisplayshell.c (gimp_display_shell_empty):
moved
code to update the ui managers here.
* app/actions/file-commands.c (file_save_cmd_callback)
(file_close_cmd_callback)
* app/dialogs/file-save-dialog.c (file_save_dialog_response)
* app/dialogs/quit-dialog.c (quit_close_all_dialog_response):
close displays instead of deleting them.
* app/gui/gui-vtable.c (gui_display_delete): call
gimp_display_close().
svn path=/trunk/; revision=25377
2008-04-01 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-title.c
(gimp_display_shell_update_title_idle): no need to translate the
empty string.
svn path=/trunk/; revision=25328
2008-03-30 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c
(gimp_display_shell_scale_changed):
never set the dest_inc and src_dec variables to zero.
svn path=/trunk/; revision=25313
2008-03-30 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-cursor.[ch]: added new function
gimp_display_shell_unset_cursor().
(gimp_display_shell_real_set_cursor): deal with cursor_type -1
and
change the cursor to the default desktop cursor. Fixes warnings
on
image load.
* app/display/gimpdisplayshell.c (gimp_display_shell_empty):
use gimp_display_shell_unset_cursor().
svn path=/trunk/; revision=25312
2008-03-27 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-dnd.c
(gimp_display_shell_drop_uri_list): don't flush if there's no image.
(gimp_display_shell_dnd_flush): use gtk_window_present() instead of
gdk_window_focus().
svn path=/trunk/; revision=25261
2008-03-27 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: use a button with icon for the
progress cancel button.
svn path=/trunk/; revision=25260
2008-03-27 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
added an arbitrary number to the minimum height.
svn path=/trunk/; revision=25259
2008-03-27 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: make sure that the statusbar frame
requests enough space to hold it's children, also the invisible ones.
* app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
don't add 1 pixel here, this spacing is gone.
svn path=/trunk/; revision=25258
2008-03-27 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]: derive GimpStatusbar from
GtkStatusbar. Use the normal statusbar label for statusbar
messages and only show the progressbar when progress is active.
* app/display/gimpdisplayshell.c (gimp_display_shell_new): removed
spacing from the main vertical box.
svn path=/trunk/; revision=25257
2008-03-26 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcairo-wilber.c: include a better Wilber path,
thanks to Jimmac.
* app/display/gimpcanvas.c (gimp_canvas_draw_drop_zone): undid
scaling "fix", instead take the offset into account. Draw with
transparency.
svn path=/trunk/; revision=25246
2008-03-26 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimpcairo-wilber.[ch]: new files that renders a
Wilber image as a Cairo path. Or at least it is supposed to do
this at some point...
* app/display/gimpcanvas.c (gimp_canvas_draw_drop_zone): use the
scalable Wilber path. Needs more work...
svn path=/trunk/; revision=25244
2008-03-26 Michael Natterer <mitch@gimp.org>
* app/display/gimpcanvas.[ch]: improve wilber scaling and remove
the drop zone layout.
* app/display/gimpdisplayshell.c: add a tooltip instead.
svn path=/trunk/; revision=25241
2008-03-26 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_realize): don't set an initial cursor
so we get the desktop default cursor after starting GIMP.
svn path=/trunk/; revision=25240
2008-03-26 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-icon.[ch]
* app/display/gimpdisplayshell-handlers.c: moved more icon code to
its new home.
svn path=/trunk/; revision=25233
2008-03-25 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]: added gimp_statusbar_peek(), a
method to access the contents of the statusbar.
* app/display/gimpdisplayshell.c
(gimp_display_shell_window_state_event): when the iconfied state
changes, call gimp_display_shell_progress_window_state_changed().
* app/display/gimpdisplayshell-progress.[ch]: when the image
window is iconified, display the progress message in the window
title so that it appears in the task bar.
* app/menus/plug-in-menus.c: formatting.
svn path=/trunk/; revision=25224
2008-03-25 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.[ch]: remove the window
state callback here...
* app/display/gimpdisplayshell.c: ...add it here and turn it into
a GtkWidget::window_state_event() implementation instead of a
signal callback.
svn path=/trunk/; revision=25223
2008-03-25 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.[ch]:
* app/display/gimpdisplayshell.c (gimp_display_shell_init): moved
handling of window state events to a separate callback.
svn path=/trunk/; revision=25221
2008-03-25 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
fix to work without menubar, don't reset GDK_HINT_USER_POS.
svn path=/trunk/; revision=25217
2008-03-25 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new): center
the empty image window on first startup.
svn path=/trunk/; revision=25214
2008-03-23 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new): use the
right GimpDisplayOptions to set the initial visibility of the
shell's widgets.
svn path=/trunk/; revision=25183
2008-03-23 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.c: implement GtkWidget::size_request()
and also consider the children which can be invisible when the
display is empty.
* app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
set the minimum height of the display to menubar + statusbar
height.
svn path=/trunk/; revision=25182
2008-03-23 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_resize): always need to fully expose the
canvas now that "redisplay" was removed.
svn path=/trunk/; revision=25179
2008-03-23 Michael Natterer <mitch@gimp.org>
Never shrink the empty display when filling it, only grow:
* app/display/gimpdisplayshell.[ch]
* app/display/gimpdisplayshell-scale.[ch]: add "gboolean
grow_only" parameters to shrink_wrap() APIs which restricts
resizing of the window to growing.
* app/display/gimpdisplayshell-scale.[ch]
(gimp_displaY_shell_scale_resize): remove boolean "redisplay"
parameter because is was always passed as TRUE. Add boolean
"grow_only" instead and pass it on to shrink_wrap()
* app/actions/view-commands.c
* app/display/gimpdisplayshell-handlers.c: pass grow_only = FALSE.
* app/display/gimpdisplayshell.c (gimp_display_shell_idle_fill):
pass grow_only = TRUE.
svn path=/trunk/; revision=25178
2008-03-23 Michael Natterer <mitch@gimp.org>
* app/dialogs/dialogs.[ch]: added a dialog factory for displays
and register "gimp-no-image-window" with it.
* app/display/gimpdisplay.[ch]: add a GimpDialogFactory parameter
to gimp_display_new() and pass it on to gimp_display_shell_new().
* app/display/gimpdisplayshell.[ch]: keep the passed
GimpDialogFactory around. When the shell becomes empty, add it to
the dialog factory and resize it to the remembered size; when it
becomes non-empty, remove it from the dialog factory again.
* app/gui/gui-vtable.c: pass the display dialog factory to
gimp_display_new().
svn path=/trunk/; revision=25177
2008-03-21 Sven Neumann <sven@gimp.org>
* app/display/gimpcanvas.c (gimp_canvas_draw_drop_zone): tweaked
opacity calculation so that the opacity is only increased with
smaller font sizes.
svn path=/trunk/; revision=25166
2008-03-21 Sven Neumann <sven@gimp.org>
* app/core/gimptemplate.[ch]: moved defines to the header file
and
changed to 640x400 which is actually almost the golden mean as
claimed by the comment.
* app/display/gimpdisplayshell.c: use the defines here.
svn path=/trunk/; revision=25165
2008-03-21 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_fill_idle):
gtk_window_present() the image window to make sure that images
aren't opened into a minimized image window.
svn path=/trunk/; revision=25161
2008-03-21 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-close.c (gimp_display_shell_close):
invoke the quit action instead of calling gimp_exit() so its
sensitivity is taken into account.
svn path=/trunk/; revision=25157
2008-03-21 Michael Natterer <mitch@gimp.org>
* app/display/gimpcanvas.c (gimp_canvas_draw_drop_zone): make sure
the drop label's opacity scales with its size so we don't end up
with tiny text at 10% opacity.
svn path=/trunk/; revision=25149
2008-03-20 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-close.c
(gimp_display_shell_close): gimp_exit() when closing the "no
image" window.
svn path=/trunk/; revision=25147
2008-03-20 Sven Neumann <sven@gimp.org>
* app/gui/gui.c (gui_restore_after_callback): create the empty
display before the other windows.
* app/display/gimpdisplayshell.c (gimp_display_shell_new): center
the empty window and create additional image windows under the
mouse cursor. Just an experiment ...
svn path=/trunk/; revision=25143
2008-03-20 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new): make it
work when called with display->image == NULL. Use a randomly
picked canvas size for now, more later.
(gimp_display_shell_fill): add missing call to
gimp_display_shell_scale_changed().
* app/gui/gui.c (gui_restore_after_callback): create an empty
display.
svn path=/trunk/; revision=25141
2008-03-20 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.[ch]: shrink-wrap the newly filled
empty display in an idle function.
svn path=/trunk/; revision=25138
2008-03-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): enable the right click
menu on the empty display.
svn path=/trunk/; revision=25135
2008-03-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_empty): use
the desktop default cursor for the empty display.
svn path=/trunk/; revision=25134
2008-03-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_empty): the
code to reset the cursor got lost when introducing this function.
* app/display/gimpdisplayshell-dnd.c
(gimp_display_shell_dnd_init): remove redundant casts.
svn path=/trunk/; revision=25133
2008-03-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpcanvas.c (gimp_canvas_draw_drop_zone): make the
scale factor of the label 4/5 instead of 2/3 of the canvas and
move the factor out of the MIN().
svn path=/trunk/; revision=25132
2008-03-19 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_expose): return FALSE so that the
default drag highlighting works.
* app/display/gimpdisplayshell-dnd.c: only set the canvas as
drop
target, not the whole shell.
* app/display/gimpdisplayshell.c: delay the call to
gimp_display_shell_dnd_init() until after the canvas has been
created.
svn path=/trunk/; revision=25127
2008-03-19 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpstatusbar.[ch]: hide/show the cursor label and
the unit and scale combo-boxes.
svn path=/trunk/; revision=25125
2008-03-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplay.[ch]: add gimp_display_empty()/fill()
which turns it into an empty display and back.
* app/display/gimpdisplayshell.[ch]: add same api here.
* app/display/gimpdisplayshell-close.c
* app/gui/gui-vtable.c: use the new functions instead of having
the code here.
* app/display/gimpdisplayshell-selection.c
(gimp_display_shell_selection_control): stop the timeout and free
the segments when this function is called on an empty display.
svn path=/trunk/; revision=25124
2008-03-19 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-title.c: changed to only append
GIMP_ACRONYM in the window title and not affect the status-bar.
svn path=/trunk/; revision=25120
2008-03-19 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.[ch]
* app/display/gimpdisplayshell-scale.[ch]: moved
gimp_display_shell_set_initial_scale() to gimpdisplayshell-scale.c.
* app/display/gimpdisplayoptions.c: reverted last change, we want
to keep the status-bar around.
svn path=/trunk/; revision=25119
2008-03-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.[ch]
(gimp_display_shell_set_initial_scale): factored out this function
which calculates the zoom factor for new images. Also returns the
size of the canvas for that zoom factor.
* app/gui/gui-vtable.c (gui_display_create): use it to set the
initial scale of images loaded into the empty display, but don't
set the display's size yet.
svn path=/trunk/; revision=25118
2008-03-19 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayoptions.c
(gimp_display_options_no_image_class_init): hide the status-bar,
at least for now.
svn path=/trunk/; revision=25117
2008-03-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockable.c
* app/widgets/gimpwidgets-utils.[ch]: moved utility function for
setting attributes on a PangoLayout out of gimpdockable.c.
* app/display/gimpcanvas.c (gimp_canvas_draw_drop_zone): use a
bold font and paint the layout with transparency.
svn path=/trunk/; revision=25116
2008-03-19 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_update_icon):
deal with NULL image and unset the icon.
* app/display/gimpdisplay.c (gimp_display_set_image): unset the
icon when no image is set.
* app/display/gimpdisplayshell-title.c
(gimp_display_shell_format_title): use GIMP_NAME as the window
title when no image is set. Append GIMP_ACRONYM otherwise.
svn path=/trunk/; revision=25115
2008-03-18 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayoptions.[ch]: add new options object
for the "no image" display appearance.
* app/display/gimpdisplayshell.[ch]: keep one of them around.
* app/display/gimpdisplayshell-appearance.[ch]: use the options
object when the display is empty. Add guards against no image
to some functions. Add gimp_display_shell_appearance_update()
which sets all options according to the current display state
(normal, fullscreen, no image).
* app/actions/view-actions.c: don't allow to configure the GUI
of the empty display.
* app/display/gimpdisplayshell-callbacks.c: use the new appearance
update function instead of doing it all here.
* app/display/gimpdisplayshell-close.c
* app/gui/gui-vtable.c: update the appearance when clearing or
filling the display.
* app/display/gimpdisplayshell-selection.c: forgot some guards
against empty displays.
svn path=/trunk/; revision=25114
2008-03-18 Michael Natterer <mitch@gimp.org>
First draft of the "no image open" window, which is implemented as
a display without image (a view with NULL model). Didn't change
the display's appearance yet so I can first make sure the display
without image works properly in all details before hiding these
details.
* app/core/gimp-gui.[ch]: add "gimp" parameter to display_create()
and allow "image" to be NULL.
* app/core/gimpcontext.c (gimp_context_real_set_display): a
display's image can be NULL now.
* app/display/gimpdisplay.[ch]: add Gimp and GimpDisplayConfig
members. Add Gimp parameter to gimp_display_shell_new(). Changed
gimp_display_reconnect() to gimp_display_set_image() and allow to
set a NULL image.
* app/gui/gui-vtable.c (gui_display_create): if there is a single
display without an image, call gimp_display_set_image() on that
display instead of creating a new one.
* app/display/gimpdisplayshell-close.c: if the last display is
closed, don't close it but make it empty. Factored out that code
to gimp_display_shell_really_close().
* app/display/gimpdisplayshell-dnd.c: when dropping uris on an
empty display, open the first one into that display and the other
ones as layers of the newly opened image. This is consistent with
dropping on an existing image but maybe needs some discussion.
* app/display/gimpdisplayshell-callbacks.c: bail out early in the
tool event callback so tools never have to deal with empty
displays. In expose(), draw the drop zone on the empty display.
* app/display/gimpdisplayshell-title.c: set the empty display's
title to "Gimp - Drop Files".
* app/display/gimpdisplay-foreach.c
* app/display/gimpdisplay-handlers.c
* app/display/gimpdisplayshell-appearance.c
* app/display/gimpdisplayshell-autoscroll.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-cursor.c
* app/display/gimpdisplayshell-dnd.c
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell-filter-dialog.c
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell-preview.c
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-scroll.c
* app/display/gimpdisplayshell-selection.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpdisplayshell.c
* app/display/gimpnavigationeditor.c
* app/display/gimpstatusbar.c: use display->gimp and
display->config instead of going via the image. Guard against
empty displays in some few places (most places can't be
called). Where needed, use the canvas' dimensions instead of the
image's dimensions so scroll offsets and scrollbars still have
sane values instead of the last image's ones.
* app/actions/actions.c (action_data_get_gimp)
(action_data_get_context): use display->gimp instead of
display->image->gimp.
* app/actions/edit-commands.c (edit_paste_cmd_callback): redirect
to "paste as new" if there is an empty display.
* app/actions/tools-commands.c (tools_select_cmd_callback): don't
initialize the new tool on an empty display.
* app/actions/view-actions.c (view_actions_update): changed lots
of sensitivity settings to be insensitive when there is no image
(instead of no display).
* app/actions/view-commands.c: use the display's config object
instead of gimp's.
svn path=/trunk/; revision=25113
2008-03-18 Michael Natterer <mitch@gimp.org>
* app/display/gimpcanvas.[ch]: add gimp_canvas_draw_drop_zone()
which simply renders a big "Drop Here" on the canvas. Replaced
Gimp member and construct property by GimpDisplayConfig.
* app/display/gimpdisplayshell.c (gimp_display_shell_new): changed
accordingly.
svn path=/trunk/; revision=25112
2008-03-06 Sven Neumann <sven@gimp.org>
* app/tools/gimptransformtool.c
* app/tools/gimptransformoptions.[ch]
* app/display/gimpdisplayshell-preview.c: take the preview opacity
from the transform tool options. Based on a patch from Tom Lechner.
Closes bug #520690.
svn path=/trunk/; revision=25049
2008-03-06 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-preview.c: don't do the blending
here, just apply the opacity on the pixbuf's alpha channel.
svn path=/trunk/; revision=25048
2008-03-05 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-preview.c: applied a modified and
further optimized version of the patch from Tom Lechner as
attached to bug #167926. This makes the transform preview take
the layer opacity into account. Needs some more work...
svn path=/trunk/; revision=25038
2008-03-05 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.h: changed PROJ_ROUND() macros to
use RINT() so they work correctly with negative numbers.
* app/tools/gimpdrawtool.c
(gimp_draw_tool_draw_line)
(gimp_draw_tool_draw_dashed_line)
(gimp_draw_tool_draw_rectangle)
(gimp_draw_tool_draw_arc)
(gimp_draw_tool_draw_boundary): use floating-point coordinate
transform functions again. These functions were changed to use
integer transform functions in 2004 (!!) which broke sub-pixel
precision drawing for stuff like straight-line and blend tool
and also sub-pixel drawing of the brush outline.
Should be backported to 2.4 after it has shown no ill effects in
trunk.
svn path=/trunk/; revision=25036
2008-03-02 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-coords.c
(gimp_display_shell_eval_event): applied slightly modified patch
from Alexia Death as attached to bug #508639.
svn path=/trunk/; revision=25006
2008-02-26 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-transform.[ch]
(gimp_display_shell_transform_points)
* app/tools/gimpdrawtool.[ch] (gimp_draw_tool_draw_lines): take
arrays of GimpVector2 instead of arrays of gdouble to represent
the input points.
* app/display/gimpdisplayshell-draw.c
* app/tools/gimppolygonselecttool.c
* app/tools/gimpfreeselecttool.c: don't cast the GimpVector2 arrays
to double arrays when passing them to above functions.
* app/tools/gimpiscissorstool.c: create a temporary GimpVector2
array instead of a temporary gdouble array.
svn path=/trunk/; revision=24979
2008-02-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-preview.c
(gimp_display_shell_trace_tri_edge): use a gint for direction,
not
a gchar which might be unsigned. Patch from Giuliano Pochini;
fixes bug #340965.
svn path=/trunk/; revision=24795
2008-01-28 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.[ch] (gimp_display_shell_snap_coords):
removed redundant GimpCoords parameter that use to cause valgrind
warnings about overlapping memory regions in memcpy().
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-autoscroll.c: changed accordingly.
svn path=/trunk/; revision=24730
2008-01-23 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.c: show the selection,
even if the window is flagged as invisible, but don't start the
animation. Addresses bug #505758.
svn path=/trunk/; revision=24694
2008-01-23 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.h: don't #include <gegl.h>
* app/actions/tools-commands.c
* app/display/gimpdisplayshell-callbacks.c
* app/tools/gimp-tools.c: include it here. Whenever the build
breaks because of some GEGL change in GIMP, please inlcude
<gegl.h> instead of <glib-object.h> or before <gtk/gtk.h> in the
affected .c files.
svn path=/trunk/; revision=24685
2008-01-22 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-coords.[ch]: applied patch from
Alexia Death with further event filter improvements (bug #508639).
svn path=/trunk/; revision=24672
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-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-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
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
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-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>
* 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-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
* 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-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
* 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-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-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-12 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_ruler_button_press): don't let
GimpImageMapTools move sample points. They fail badly and leave
the display in a paused state.
svn path=/trunk/; revision=24133
2007-11-08 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_vprintf): also cut
the message at a '\r' character. Fixes the remaining aspect of
bug #492718.
svn path=/trunk/; revision=24091
2007-11-08 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c
(gimp_display_shell_show_tooltip):
don't directly pass a message to gimp_statusbar_push(), it
expects
a format string and printf-like varargs. Fixes the crash
reported
in bug #492718.
svn path=/trunk/; revision=24088
2007-10-30 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-render.c (box_filter): shift only
by 4 bits instead of 8. Should still keep us from overflowing 32
bit integers but reduces the rounding error and seems to really
fix bug #491503.
svn path=/trunk/; revision=23996
2007-10-30 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-handlers.c: reverted change that
was made for bug #490785.
svn path=/trunk/; revision=23989
2007-10-27 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-handlers.c: removed code that
syncs
the padding color with the default values set in the
preferences.
Fixes bug #490785.
svn path=/trunk/; revision=23974
2007-10-25 Sven Neumann <sven@gimp.org>
* app/display/gimpcanvas.c (gimp_canvas_gc_new): use INVERT
instead of XOR if the xor-color is configured as white.
svn path=/trunk/; revision=23941
2007-10-24 Simon Budig <simon@gimp.org>
* app/display/gimpdisplayshell.h: change the PROJ_ROUND macro
to do proper rounding. Seems to work well.
svn path=/trunk/; revision=23936
2007-10-11 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): if we need to
delete/create tools on button press because the active tool
doesn't support changing drawables, make sure the newly created
tool gets its focus_display and modifier states set correctly.
Fixes bug #485119. Improved disabled debug output.
* app/tools/gimptool.c: stylistic cleanup in debug output.
svn path=/trunk/; revision=23803
2007-09-30 Simon Budig <simon@gimp.org>
* app/display/gimpdisplayshell.[ch]
* app/display/gimpdisplayshell-render.c: 64bittified the code so
that the new renderer also works for big images. Slightly
reorganized.
* app/display/gimpdisplayshell-transform.c: Another go at
bug #474509. This even might be fixed now...
svn path=/trunk/; revision=23698
2007-09-26 Simon Budig <simon@gimp.org>
* app/display/gimpdisplayshell-render.c: fix the numerical overflow
for the new box-filtering stuff.
Fixes bug #479807.
svn path=/trunk/; revision=23659
2007-09-24 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-render.c: removed const qualifiers
to fix compilation on Solaris 8 (bug #479817).
svn path=/trunk/; revision=23642
2007-09-23 Simon Budig <simon@gimp.org>
* app/display/gimpdisplay.c: Accomodate for spill that
happens by the box filtering.
Fixes bug #474509. Again. Hopefully.
svn path=/trunk/; revision=23630
2007-09-23 Simon Budig <simon@gimp.org>
* app/display/gimpdisplayshell-render.c: oops - managed to miss the
mask rendering.
svn path=/trunk/; revision=23619
2007-09-23 Simon Budig <simon@gimp.org>
* app/display/gimpdisplayshell-render.c: use Bresenham stepping
for the y-direction as well.
Fixes bug #474509.
Retired old and unused functions.
svn path=/trunk/; revision=23618
2007-09-23 Simon Budig <simon@gimp.org>
* app/display/gimpdisplayshell-render.c: implement
bresenham-like stepping for interpolating the view in
x-direction. Since I now know how it is supposed to work
the y direction will follow shortly.
Adresses bug #474509.
svn path=/trunk/; revision=23617
* app/display/gimpdisplayshell-render.c: (render_image_tile_fault),
(render_image_tile_fault_one_row): clone the middle row/column when
walking off the source drawable during downscaling. Probably fixes bug
#469567.
svn path=/trunk/; revision=23521