No description
2004-07-29 Michael Natterer <mitch@gimp.org> Replaced the concept of having a boolean indicating if an undo step dirties the image by a bitfield indicating which parts of the image are dirtied: * app/core/core-enums.[ch]: reordered two values in enum GimpUndoType, added GIMP_DIRTY_IMAGE_SIZE to enum GimpDirtyMask. The values of GimpDirtyMask are still questionable and will probably change... * app/core/gimpimage.[ch]: removed signal "undo_start" and added a GimpDirtyMask parameter to the "dirty" and "clean" signals. * app/core/gimpimage-undo.[ch] (gimp_image_undo_push): replaced "gboolean dirties_image" by "GimpDirtyMask dirty_mask" and pass it to gimp_image_dirty(). (gimp_image_undo_group_start): added *ugly* code which tries to figure GimpDirtyMask from the group's GimpUndoType and store it in the GimpUndoGroup. Call gimp_image_dirty() instead of the removed gimp_image_undo_start(). This means the undo group now dirties the image just like one of its undo steps, but that's no problem since undoing cleans it in the same way. * app/core/gimpundo.[ch]: s/dirties_image/dirty_mask/g (gimp_undo_pop): emit clean/dirty signals *before* performing the actual undo step so listeners can detach from the image before it is changed by undo. * app/core/gimpimage-undo-push.c (gimp_image_undo_push_*): pass a GimpDirtyMask instead of TRUE/FALSE to gimp_image_undo_push(). * app/core/gimpimagemap.[ch]: removed "gboolean interactive" because it makes no sense to use GimpImageMap noninteractively. Don't freeze()/thaw() undo while the image_map is active which fixes many ways of trashing the image's undo state but probably introduces new ways of doing evil things. * app/display/gimpdisplay-foreach.c * app/display/gimpdisplayshell-handlers.c: changed according to the GimpImage::clean()/dirty() signal changes. Small fixes in the quit dialog's dirty image container. * app/tools/gimptoolcontrol.[ch]: added member and API to set/get the dirty_mask. * app/tools/gimpcroptool.c * app/tools/gimpimagemaptool.c * app/tools/gimpiscissorstool.c * app/tools/gimptexttool.c * app/tools/gimptransformtool.c: whenever setting "preserve" to FALSE, also set a "dirty_mask" which specifies on which image changes the tool wants to be canceled. * app/tools/tool_manager.c: removed "undo_start" connection and connect to both "dirty" *and* "clean" to check if the active_tool needs to be canceled. Cancel the tool only if the dirty_mask passed in the signal has common bits with the tool's dirty_mask. Fixes bug #109561 and probably opens some new ones... |
||
|---|---|---|
| app | ||
| cursors | ||
| data | ||
| devel-docs | ||
| docs | ||
| etc | ||
| libgimp | ||
| libgimpbase | ||
| libgimpcolor | ||
| libgimpconfig | ||
| libgimpmath | ||
| libgimpmodule | ||
| libgimpthumb | ||
| libgimpwidgets | ||
| m4macros | ||
| menus | ||
| modules | ||
| plug-ins | ||
| po | ||
| po-libgimp | ||
| po-plug-ins | ||
| po-script-fu | ||
| regexrepl | ||
| themes | ||
| tips | ||
| tools | ||
| .cvsignore | ||
| acinclude.m4 | ||
| AUTHORS | ||
| autogen.sh | ||
| ChangeLog | ||
| ChangeLog.pre-1-0 | ||
| ChangeLog.pre-1-2 | ||
| ChangeLog.pre-2-0 | ||
| config.h.in | ||
| config.h.win32 | ||
| configure.in | ||
| COPYING | ||
| gimp-zip.in | ||
| gimp.pc.in | ||
| gimp.spec.in | ||
| gimpdefs.msc | ||
| gimpthumb.pc.in | ||
| gimptool-2.0.in | ||
| gimptool-win32.c.in | ||
| gimpui.pc.in | ||
| HACKING | ||
| INSTALL | ||
| LICENSE | ||
| MAINTAINERS | ||
| Makefile.am | ||
| makefile.msc | ||
| NEWS | ||
| NEWS.pre-2-0 | ||
| PLUGIN_MAINTAINERS | ||
| README | ||
| README.i18n | ||
| README.win32 | ||
| TODO.xml | ||
THIS IS AN UNSTABLE DEVELOPMENT VERSION! DO NOT USE! ==================================================== This is the development branch of The GIMP. Here's where new features are being added. Somewhen this summer the next stable GIMP release, GIMP 2.2, will emerge out of this. This is an early development snapshot, there are bugs and quite some loose ends. Since the plug-in API of GIMP 2.2 will be compatible with GIMP 2.0, 2.2 is supposed to install itself into the gimp-2.0 directories. It is thus not possible to install this development version into the same prefix with GIMP 2.0. A number of files will clash, so please use a separate prefix to install this development version. Please do not distribute binary packages of gimp-2.1! If you want to hack on The GIMP, please read the file HACKING. For detailed installation instructions, see the file INSTALL. 1. Web Resources ================ The GIMP's home page is at: http://www.gimp.org/ Please be sure to visit this site for information, documentation, tutorials, news, etc. All things GIMP-ish are available from there. The automated plug-in registry is located at: http://registry.gimp.org/ There you can get the latest versions of plug-ins using a convenient forms-based interface. The latest version of The GIMP can be found at: http://www.gimp.org/downloads/ 2. Mailing Lists ================ We have several mailing lists dedicated to GIMP user and development discussion. There is more info at https://lists.xcf.berkeley.edu/mailman/listinfo/<listname> substituting <listname> for "gimp-announce", "gimp-user", "gimp-win-users" or "gimp-developer" (without the quotes, of course) depending on the list you want to subscribe to. Links to the mailing list archives can be found at the same addresses as given above. Gimp-announce is a low-traffic list with announcements about new releases of GIMP and plug-ins. Gimp-user is a mailing list dedicated to user problems, hints and tips, discussion of cool effects, etc. Gimp-developer is oriented to GIMP core and plug-in developers. Most people will only want to be subscribed to gimp-user. If you want to help develop The GIMP, the gimp-developer mailing list is a good starting point. There is also a mailing list dedicated to users of the Win32 port "gimpwin-users". To subscribe, send an empty message to gimpwin-users-subscribe@egroups.com You can also use the web interface at http://www.egroups.com/group/gimpwin-users/. Note that as this mailing list is hosted on egroups.com; the messages from the list contain relatively unintrusive and easily ignored advertisements at the end. But if you are absolutely allergic to ads, don't subscribe. 3. IRC ====== And finally, for the real junkies, there is an IRC channel devoted to the GIMP. On Byxnet (a private mostly-GIMP network) there is #gimp. Many of the developers hang out there. One of the Byxnet servers are: irc.gimp.org:6667 4. Customizing ============== The look of GIMP's interface can be customized like any other GTK app by editing the ~/.gtkrc-2.0 file or by using "themes" (ready-made customizations). For downloadable themes and further details, see http://gtk.themes.org. Additionally GIMP reads ~/.gimp-2.0/gtkrc so you can have settings that only apply to The GIMP. Included is a set of keybindings similar to those in Adobe Photoshop. You can find them in the ps-menurc file. To use them, copy this file to ~/.gimp-2.0/menurc. You can also manually change the keybindings to any of your choice by editing ~/.gimp-2.0/menurc. Have fun, Spencer Kimball Peter Mattis Federico Mena Manish Singh Sven Neumann Michael Natterer Dave Neary