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-03-14 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.[ch]: cache the display scale
factors in the GimpDisplayShell struct and recalculate it in
gimp_display_shell_scale_factor_changed().
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_set_dot_for_dot)
* app/display/gimpdisplayshell-handlers.c
(gimp_display_shell_resolution_changed_handler)
(gimp_display_shell_monitor_res_notify_handler): update the scale
factors by calling gimp_display_shell_scale_factor_changed().
* app/display/gimpdisplayshell-transform.c
* app/display/gimpnavigationeditor.c: code cleanup.
svn path=/trunk/; revision=22118
2007-03-09 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: include "libgimpmath/gimpmathtypes.h"
instead of "libgimpmath/gimpmath.h".
* app/core/gimpbrush.h
* app/paint/gimppaintcore.h
* app/paint/gimpperspectiveclone.h
* app/text/gimptext.h
* app/tools/gimptransformtool.h: include gimpvector.h and
gimpmatrix.h explicitely where they are needed in public structs.
* app/*/*.c
* tools/pdbgen/pdb/paths.pdb: include "libgimpmath/gimpmath.h"
where needed.
* app/pdb/paths_cmds.c: regenerated.
svn path=/trunk/; revision=22084
2006-08-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-transform.[ch]: added new function
gimp_display_shell_transform_segments().
* app/display/gimpdisplayshell-selection.c (selection_transform_segs)
* app/tools/gimpregionselecttool.c
(gimp_region_select_tool_calculate): use the new function instead
of looping over the segments.
2006-08-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-transform.[ch]: renamed
transform_coords() to transform_coordinate(); same for the
untransform variant. Added new functions transform_points() and
transform_coords() that work on arrays.
* app/display/gimpdisplayshell-autoscroll.c
* app/display/gimpdisplayshell-callbacks.c: changed accordingly.
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_lines)
(gimp_draw_tool_draw_strokes): use the new transform functions.
2004-07-16 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-transform.c: made gtk-doc even
happier; clarified meaning of the "use_offsets" parameter.
2004-07-16 Sven Neumann <sven@gimp.org>
* app/core/gimpdata.c:
* app/display/gimpcanvas.c:
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-transform.c: corrected API
documentation, removed trailing whitespace.
Please do always build the documentation if you add or change any
gtk-doc comments.
* app/display/gimpcanvas.c:
* app/display/gimpdisplayshell-transform.c: added gtk-doc
comments for all public functions that lack them.
* app/display/gimpdisplayshell.c: added a couple of
gtk-doc comments.
2004-03-20 Pedro Gimeno <pggimeno@wanadoo.es>
Fixed several off-by-one problems in display:
* app/display/gimpdisplayshell.h (PROJ_ROUND): New macro to apply
to a float the same rounding method as the one used when rendering.
(SCALEX, SCALEY): Use PROJ_ROUND instead of truncating.
* app/display/gimpdisplayshell-transform.c
(gimp_display_shell_transform_xy): Accept gdouble image coordinates
even if the returned screen coordinates are integer. Use PROJ_ROUND
instead of (gint) to apply proper rounding. Fixes bug #137566.
* app/display/gimpdisplayshell-transform.h
(gimp_display_shell_transform_xy): changed accordingly.
* app/display/gimpdisplayshell-draw.c
* app/tools/gimpdrawtool.c: make sure everywhere that PROJ_ROUND
is used either directly or through gimp_display_shell_transform_xy,
instead of using arbitrary rounding methods.
2004-01-15 Michael Natterer <mitch@gimp.org>
Fixed bug #78732 (don't paste off screen):
* app/display/gimpdisplayshell-transform.[ch]: added new function
gimp_display_shell_untransform_viewport() which returns the
visible rectangle of the image in image coordinates.
* app/core/gimp-edit.[ch] (gimp_edit_paste): added viewport
parameters and changed positioning of the pasted layer as follows:
- if there is a selection, center on the selection (just as before).
- if there is no viewport, center on the active drawable.
- if the viewport intersects with the active drawable, center
on the intersection.
- if the viewport does *not* intersect with the active drawable,
center on the active drawable (off-screen, but better than pasting
something that will be invisible due to floating selection clipping).
- if there is no active drawable, center on the viewport.
- if there is no active drawable and no viewport, center on the image.
* app/widgets/gimpbufferview.c (gimp_buffer_view_paste_clicked)
(gimp_buffer_view_paste_into_clicked)
* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_drop_buffer)
* app/gui/edit-commands.c (edit_paste_cmd_callback)
(edit_paste_into_cmd_callback): ask the shell for the viewport
and pass it to gimp_edit_paste().
* app/display/gimpdisplayshell-dnd.c
(gimp_display_shell_drop_drawable): center the created layer on
the viewport.
* app/tools/gimpmovetool.c (gimp_move_tool_button_release): use
gimp_display_shell_untransform_viewport() (its code was taken from
here).
* tools/pdbgen/pdb/edit.pdb: pass "no viewport" to gimp_edit_paste().
* app/pdb/edit_cmds.c: regenerated.
2003-07-10 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-transform.[ch]: removed
gimp_display_shell_transform_boundary() again...
* app/tools/gimpdrawtool.[ch]: ...and added as
gimp_draw_tool_draw_boundary(). Removed the GimpDrawToolState enum
and the "draw_state" member since they were redundant. Cleanup.
* app/tools/gimpeditselectiontool.c: changed accordingly.
* app/tools/gimppainttool.[ch]: added a brush preview so we
finally see where we will paint. Fixes bug #32498. Cleanup.
* app/tools/tool_manager.c: also look at draw_tool->gdisp, not
only at tool->gdisp when deciding whether the active tool has to
be suspended/resumed/halted. Fixes a couple of fnords with the
line preview and the new brush preview.
* app/tools/gimpcolortool.c: minor cleanup.
2003-07-09 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-transform.[ch]: added new function
gimp_display_shell_transform_boundary() which takes an array of
BoundSegs and returns an array of GdkSegments.
* app/tools/gimpeditselectiontool.c: use it.
2003-01-03 Sven Neumann <sven@gimp.org>
* configure.in: bumped the version number to 1.3.12.
* app/display/Makefile.am
* app/display/gimpdisplayshell-cursor.[ch]
* app/display/gimpdisplayshell-title.[ch]
* app/display/gimpdisplayshell-transform.[ch]: new files with code
that used to live in gimpdisplayshell.c.
* app/display/gimpdisplay-foreach.c
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-selection.c
* app/display/gimpdisplayshell.[ch]
* app/tools/gimpbezierselecttool.c
* app/tools/gimpcroptool.c
* app/tools/gimpdrawtool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimpmovetool.c
* app/tools/gimptool.c: changed accordingly.