2007-06-11 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-preview.c: don't disable image previews
when
layer previews are disabled. We do not any longer create the
image
preview from the layer previews.
* app/core/gimpimagefile.c
* app/widgets/gimpthumbbox.c
* tools/pdbgen/pdb/image.pdb: thumbnail rendering is not any
longer disabled if layer previews are turned off.
* app/config/gimprc-blurbs.h (THUMBNAIL_SIZE_BLURB): removed
note
that has become invalid by the change above.
* app/core/gimpitem-preview.c: cosmetics.
* app/pdb/image_cmds.c: regenerated.
svn path=/trunk/; revision=22756
2007-06-11 Mukund Sivaraman <muks@mukund.org>
* configure.in: bumped required libexif version to 0.6.15. This
seems to fix#358117 for the various test images that were reported
in it, and its duplicates. This version is in Debian unstable and
Fedora 7.
svn path=/trunk/; revision=22752
2007-06-11 Sven Neumann <sven@gimp.org>
Applied the second patch from Zbigniew Chyla. Improves
boundary_sort() performance by reducing its time complexity from
O(n*n) to ~O(n*log n) (bug #388538).
* app/base/boundary.c (boundary_sort): prepare two arrays of
pointers to segments, each sorted by different pair of
coordinates ((x1,y1) and (x2,y2)); use new find_segment(),
passing both arrays to it.
(find_segment): new implementation that employs binary search to
find matching segment, using sorted arrays prepared by
boundary_sort().
svn path=/trunk/; revision=22750
2007-06-09 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-resize.[ch]: added
gimp_image_resize_to_selection().
* app/actions/image-actions.c
* app/actions/image-commands.[ch]
* app/widgets/gimphelp-ids.h
* menus/image-menu.xml.in: added an action and a menu item for
it.
Fixes bug #335672.
* plug-ins/common/align_layers.c: resolved a conflicting
mnemonic.
svn path=/trunk/; revision=22749
2007-06-08 Kevin Cozens <kcozens@cvs.gnome.org>
* plug-ins/script-fu/tinyscheme/scheme.h: Applied patch from Daniel
Richard G. that defines SCHEME_EXPORT as extern for non-Windows
systems. Fixes bug #444964.
svn path=/trunk/; revision=22747
2007-06-08 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection.c (gimp_projection_alloc_levels): use
a bit shift instead of a shift and a division.
svn path=/trunk/; revision=22745
2007-06-08 Sven Neumann <sven@gimp.org>
Applied parts of a patch from Daniel Richard G. (bug #445374):
* themes/Default/images/Makefile.am
* data/tips/Makefile.am
* menus/Makefile.am: more srcdir/builddir tweaks.
svn path=/trunk/; revision=22744
2007-06-08 Sven Neumann <sven@gimp.org>
* app/core/gimpviewable.h: #define GIMP_VIEWABLE_PRIORITY_IDLE,
which is even lower than G_PRIORITY_LOW.
* app/core/gimpundo.c
* app/widgets/gimpviewrenderer.c: create previews with
GIMP_VIEWABLE_PRIORITY_IDLE so that they are run after the
projection has been invalidated.
svn path=/trunk/; revision=22743
2007-06-07 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection.c (gimp_projection_validate_pyramid_tile):
folded into a single loop.
svn path=/trunk/; revision=22740
2007-06-07 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection.c (gimp_projection_write_quarter):
weight the pixels by their alpha value.
svn path=/trunk/; revision=22738
2007-06-07 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.[ch]: removed the boolean from the GimpImage
struct that used to track whether the preview was valid.
(gimp_image_invalidate_preview): just set the preview to NULL.
* app/core/gimpimage-preview.c (gimp_image_get_new_preview):
construct the preview from the projection instead of compositing
the drawable previews.
svn path=/trunk/; revision=22737
2007-06-07 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection.c: lazily allocate the tile managers of
the image pyramid.
(gimp_projection_write_quarter): minor optimization.
svn path=/trunk/; revision=22736
2007-06-07 Sven Neumann <sven@gimp.org>
* app/text/Makefile.am
* app/core/Makefile.am
* app/tools/Makefile.am
* app/display/Makefile.am
* app/widgets/Makefile.am
* app/base/Makefile.am
* app/paint/Makefile.am
* app/plug-in/Makefile.am
* libgimp/Makefile.am
* libgimpthumb/Makefile.am
* tools/pdbgen/Makefile.am
* libgimpwidgets/Makefile.am: applied the remaining parts of the
patch from Daniel Richard G. to fix out-of-source-tree builds
(bug #444960).
svn path=/trunk/; revision=22735
2007-06-07 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection.c (gimp_projection_get_level):
reimplemented without using a logarithm.
svn path=/trunk/; revision=22734
2007-06-07 Sven Neumann <sven@gimp.org>
* app/dialogs/Makefile.am
* menus/Makefile.am: when calling xsltproc, use the stylesheet from
$(srcdir). From the patch attached to bug #444960.
svn path=/trunk/; revision=22733
2007-06-07 Sven Neumann <sven@gimp.org>
* app/dialogs/Makefile.am: bail out with an error if xsltproc is
missing and authors.h needs to be regenerated.
* libgimpwidgets/Makefile.am: let gimpwidgets-private.lo, not the
C file, depend on gimp-wilber-pixbufs.h. From the patch attached to
bug #444960.
svn path=/trunk/; revision=22732
2007-06-06 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection.[ch]: minor API cleanup. Use
horizontal
and vertical scale to determine the pyramid level to use.
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell-render.c: follow the API change.
svn path=/trunk/; revision=22730
2007-06-06 Martin Nordholts <martinn@svn.gnome.org>
Implemented an image pyramid for the GimpProjection. An image pyramid
caches a projection at several sizes, causing the rendering code not to
have to swap in all tiles of a (potentially) large image; it can use
small versions of the projection if the user is zoomed out.
The image pyramid also imroves visual quality, especially at zoom levels
where there is a pyramid level that matches perfectly (i.e. at e.g. 50%,
25%, and 12.5% zoom). A step on the right track for bug #76096.
* app/core/gimpprojection.[ch]: Adjusted to make use of an image
pyramid. GimpProjection now keeps an array of TileManager:s, one per
pyramid level. Renamed _alloc_tiles to _alloc_levels.
* app/display/gimpdisplayshell-draw.c: (gimp_display_shell_draw_area):
Use the right GimpProjection level when drawing
* app/display/gimpdisplayshell-render.c: (render_image_init_info_full):
Setup RenderInfo with level in mind
* app/base/tile-manager.[ch]: Extended API a bit, nothing complicated.
* app/base/tile-manager-private.h (struct _TileManager): Keep a pointer
to the level below for use in an image pyramid.
svn path=/trunk/; revision=22727
2007-06-06 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection.c (gimp_projection_estimate_memsize):
the projection is 2 bytes per pixel for grayscale images.
svn path=/trunk/; revision=22723
2007-06-06 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection.[ch]: added function that estimates the
memory requirements for an image projection.
* app/core/gimptemplate.c (gimp_template_notify): use it.
svn path=/trunk/; revision=22721
2007-06-06 Sven Neumann <sven@gimp.org>
* docs/papers: removed this directory and its contents. The papers
we used to keep here are only of historical value.
svn path=/trunk/; revision=22720
2007-06-06 Sven Neumann <sven@gimp.org>
* papers/script-fu/script-fu.tex: reverted the change here. This
document only has historical value and must not be changed.
svn path=/trunk/; revision=22717
2007-06-06 Michael Natterer <mitch@gimp.org>
* libgimpthumb/Makefile.am
* libgimpthumb/gimp-thumbnail-list.c: added my small thumbnail
lister before it bit-rots. It prints the filenames of thumbnails
which match certain criteria. Use the output for further
processing (e.g. deleting). Doesn't technically belong here but
can't be added to tools/ because it depends on libgimpthumb.
svn path=/trunk/; revision=22716
2007-06-05 Michael Natterer <mitch@gimp.org>
* plug-ins/helpbrowser/dialog.c (browser_dialog_goto_index): don't
expand the row we are going to, only its parent node.
svn path=/trunk/; revision=22714
2007-06-05 Simon Budig <simon@gimp.org>
* plug-ins/common/tiff-load.c
* plug-ins/common/tiff-save.c: Implement the proposed scheme for
storing international path names in TIFF files.
svn path=/trunk/; revision=22712
2007-06-05 Michael Natterer <mitch@gimp.org>
* plug-ins/helpbrowser/dialog.[ch] (browser_dialog_goto_index):
new function which takes an uri and selects its item from the
index tree.
* plug-ins/helpbrowser/helpbrowser.c (temp_proc_run): use it to
select the right tree item when invoked from gimp.
svn path=/trunk/; revision=22710