2003-09-20 Simon Budig <simon@gimp.org>
Dave Neary <bolsh@gimp.org>
First steps towards Libart stroking. Right now the code
crashes and thus is disabled by default. If you want to
test it, change the #define LIBART_STROKE in
app/vectors/gimpvectors.c. Then a click on the stroke button
in the paths dialog invokes the new code.
The crash is in gimpdrawable-stroke.c - apparently I did not
yet get the TileManager stuff correctly.
* app/core/gimpscanconvert.[ch]: Rewritten to be more clear
and have an easier API. Now can handle open Paths and
libart-stroke the (open/closed) polygons defined earlier.
* app/core/core-enums.h: Added Enums for LineJoin-Type and
EndCap-Type for stroking.
* app/core/core-enums.c: regenerated.
* app/core/gimpimage-mask-select.c: Use the new API of
GimpScanConvert where appropriate.
* app/vectors/gimpvectors.c: Added #define to enable the libart
stroking. Disabled by default because of the crash mentioned
above...
* app/vectors/gimpbezierstroke.c
* app/vectors/gimpstroke.c
* app/vectors/gimpvectors.[ch]: Removed Libart stuff here.
Libart usage now lives exclusively in GimpScanConvert.
* app/core/gimpdrawable-stroke.[ch]: New files for the libart
stroking (right now just vector objects).
* app/core/Makefile.am: changed accordingly.
* app/Makefile.am: Needed to tweak linking. :-/
2003-09-15 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-transform-utils.[ch]: removed...
* app/core/gimp-transform-utils.[ch]: ...and added under new names
because these functions are not at all related to GimpDrawable.
Changed the function names accordingly.
* app/tools/gimpperspectivetool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c
* app/vectors/gimpstroke.c
* app/vectors/gimpvectors.c
* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.
* app/pdb/transform_tools_cmds.c: regenerated.
2003-09-10 Michael Natterer <mitch@gimp.org>
* configure.in: require fontconfig >= 2.2.0 (bug #121752), check
for gdk-pixbuf-2.0 explicitly, added --enable-gimp-console
configure option, bumped version number to 1.3.21.
* app/core/Makefile.am: replaced GTK_CFLAGS by GDK_PIXBUF_CFLAGS.
* app/Makefile.am: removed -export-dynamic from LDFLAGS since we
don't export symbols to modules or libraries any more. Reordered
SUBDIRS a bit.
If --enable-gimp-console is given, try to build a second binary
called gimp-console-1.3 which does not link against GTK+.
Of course this fails badly since core/ui separation is not
complete yet, but the output of the failing linker is a nice list
of what needs to be done.
2003-09-04 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpcontainer-filter.[ch]: added filter functionality
for GimpContainers.
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/fonts.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/patterns.pdb: made the gimp_foo_get_list()
PDB function somewhat useful by adding a filter parameter that
allows to specify a regular expression to be used on the list.
* app/pdb/Makefile.am: had to uglify the ugly hack even more :(
* app/pdb/brushes_cmds.c
* app/pdb/fonts_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/palettes_cmds.c
* app/pdb/patterns_cmds.c
* libgimp/gimpbrushes_pdb.[ch]
* libgimp/gimpfonts_pdb.[ch]
* libgimp/gimpgradients_pdb.[ch]
* libgimp/gimppalettes_pdb.[ch]
* libgimp/gimppatterns_pdb.[ch]: regenerated.
* plug-ins/gflare/gflare.c
* plug-ins/pygimp/gimpmodule.c: changed accordingly.
* plug-ins/script-fu/scripts/font-map.scm: replaced the font list
parameter with a more useful regexp filter on the available fonts.
2003-09-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.[ch]: made all functions which push an
undo step virtual and added them all as default implementations.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpselection.[ch]: new object which is a GimpChannel
subclass and implements all of its virtual functions, pushes
an image_mask undo and chains up with "push_undo = FALSE".
* app/core/gimpimage-mask.[ch]: made most functions simple
wrappers like gimp_channel_invert(gimp_image_get_mask(gimage));
so the API stays the same for now.
* app/core/gimpimage.[ch]: create a GimpSelection object
as gimage->selection_mask. Removed "gboolean mask_stroking"
since it is in GimpSelection now.
* app/xcf/xcf-load.c (xcf_load_channel_props): added an evil hack
which turns a GimpChannel into a GimpSelection once we figured the
loaded channel is the selection.
* app/core/gimplayer.c (gimp_layer_create_mask):
gimp_channel_clear() takes an additional "const gchar *undo_desc"
parameter now.
* app/core/gimpscanconvert.c (gimp_scan_convert_to_channel): set
mask->bounds_known to FALSE before returning the new channel
* app/tools/gimpiscissorstool.c (iscissors_convert): no need to
call gimp_channel_invalidate_boundary() on the channel returned by
the above function.
* app/core/gimpchannel.[ch]: removed
gimp_channel_invalidate_boundary() since it is no longer needed.
2003-07-04 Henrik Brix Andersen <brix@gimp.org>
Added persistent storage of image grid in XCF files.
* app/core/gimpimage.[ch]: removed gimp_image_get_grid() and
gimp_image_set_grid() ...
* app/core/Makefile.am
* app/core/gimpimage-grid.[ch]: ... and added them to these new
files. Added gimp_grid_parasite_name(), gimp_grid_to_parasite()
and gimp_grid_from_parasite() functions.
* app/core/gimpimage-snap.c
* app/gui/grid-dialog.c: #include "gimpimage-grid.h"
* app/core/gimpimage-undo-push.c: #include "gimpimage-grid.h".
(gimp_image_undo_push_image_grid) mark image as dirty.
* app/xcf/xcf-save.c (xcf_save_image_props): save GimpGrid object
as a parasite.
* app/xcf/xcf-load.c (xcf_load_image): load GimpGrid from
parasite.
* devel-docs/parasites.txt: documented the new "gimp-image-grid"
parasite.
This fixes bug #65198
* app/core/Makefile.am
* app/core/core-types.h:
* app/core/gimpgrid.[ch]: added new class GimpGrid.
* app/core/core-enums.[ch]: added new enum GimpGridType.
* app/core/gimpimage-guides.[ch]: removed the gimp_image_snap_*()
functions...
* app/core/gimpimage-snap.[ch]: ...and added them here since they
are no longer guide specific.
* app/core/gimpimage-undo-push.[ch]: added
gimp_image_undo_push_image_grid()
* app/display/gimpdisplayshell-handlers.c:
* app/core/gimpimage.[ch]: added grid member to _GimpImage. Added
new signal "grid_changed", added gimp_image_grid_changed(),
gimp_image_get_grid() and gimp_image_set_grid().
* app/display/gimpdisplayshell-appearance.[ch]: added
gimp_display_shell_set_show_grid(),
gimp_display_shell_get_show_grid(),
gimp_display_shell_set_snap_to_grid() and
gimp_display_shell_get_snap_to_grid().
* app/display/gimpdisplayshell-callbacks.c: added call to
gimp_display_shell_draw_grid()
* app/display/gimpdisplayshell.[ch]: added grid member to
_GimpDisplayShellVisibility, added snap_to_grid and grid_dialog
members to _GimpDisplayShell, added
gimp_display_shell_draw_grid(), modified
gimp_display_shell_snap_coords() to use the new
gimp_image_snap_*() functions.
* app/gui/image-menu.c: added grid entries to
image_menu_entries[].
* app/gui/view-commands.[ch]: added
view_configure_grid_cmd_callback(),
view_toggle_grid_cmd_callback() and
view_snap_to_grid_cmd_callback().
* app/gui/Makefile.am
* app/gui/grid-dialog.[ch]: added a grid dialog.
2003-05-20 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]: added new enum GimpRotationType.
* app/core/Makefile.am
* app/core/gimpimage-rotate.[ch]: new files.
* app/core/gimpchannel.c
* app/core/gimpdrawable-transform.[ch]
* app/core/gimpdrawable.c
* app/core/gimpitem.[ch]
* app/core/gimplayer.c
* app/vectors/gimpvectors.c: added GimpItem::rotate. Still work in
progress.
* plug-ins/common/rotate.c: don't install any menu entries. The
plug-in is only kept around to provide plug_in_rotate for backward
compatibility.
* app/gui/drawable-commands.[ch]
* app/gui/image-commands.[ch]
* app/gui/image-menu.c: use the new rotate implementation and use
stock icons for the menu entries. Fixes bug #57797.
2003-05-18 Michael Natterer <mitch@gimp.org>
Implemented "Flip Image". Fixes bug #23179:
* app/core/core-enums.[ch]: added GIMP_UNDO_GROUP_IMAGE_FLIP.
* app/core/Makefile.am
* app/core/gimpimage-flip.[ch]: new files implementing
gimp_image_flip().
* app/gui/image-menu.c
* app/gui/image-commands.[ch]: added it to the "Image" menu.
* themes/Default/images/Makefile.am
* themes/Default/images/stock-flip-horizontal-16.png
* themes/Default/images/stock-flip-vertical-16.png
* libgimpwidgets/gimpstock.[ch]: added icons for the new
menu items.
Bugs found while hacking the stuff above:
* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste):
only call gimp_layer_add_alpha() if the pasted tiles have alpha.
* app/core/gimpimage-undo-push.c (undo_pop_channel_mod): fixed to
do the right thing if the channel is the selection mask.
2003-05-14 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimp-utils.[ch]: new file for utility functions.
Contains gimp_rectangle_intersect() for now.
* app/core/gimpdrawable-transform.c: removed the function here.
* app/core/gimpdrawable.c (gimp_drawable_resize): use it to
determine the amount of pixels to copy between the old and new
tile managers. Removed restriction that forced the areas to
overlap by at least one pixel.
* app/core/gimpitem.c (gimp_item_real_transform): removed the
restriction here, too.
* app/core/gimplayer.c (gimp_layer_create_mask): use the new
function to decide how much to copy from the selection when
creating a mask from it.
2003-05-12 Michael Natterer <mitch@gimp.org>
Added support for transforming linked layers, channels
and vectors. Fixes bug #86277.
* app/core/gimpdrawable-transform.[ch]
(gimp_drawable_transform_tiles_flip): added "gdouble axis" and
calculate the resulting drawable offset.
(gimp_drawable_transform_flip): calculate the axis and pass it to
the function above.
(gimp_drawable_transform_[tiles_]affine): reordered parameters.
* app/core/gimpitem.[ch]: added virtual functions GimpItem::flip()
and GimpItem::transform().
* app/core/gimpchannel.c
* app/core/gimplayer.c
* app/vectors/gimpvectors.c: implement flip() and transform().
Note that all functions always transform the whole item,
regardless of a present selection.
* app/core/Makefile.am
* app/core/gimpitem-linked.[ch]: new files containing utility
functions which translate, flip and transform all linked items.
* app/tools/gimpfliptool.c
* app/tools/gimptransformtool.c
* tools/pdbgen/pdb/layer.pdb: use the new gimp_item_linked_*()
functions to translate, flip and transform all linked items.
* tools/pdbgen/pdb/transform_tools.pdb: follow
gimp_drawable_transform_affine() API change.
* app/pdb/layer_cmds.c
* app/pdb/transform_tools_cmds.c: regenerated.
2003-04-03 Michael Natterer <mitch@gimp.org>
Added preliminary support for image templates. Not finished
yet. Addresses bug #96059. Now we need a volunteer to create
a nice collection of default templates...
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimptemplate.[ch]
* app/core/gimp-templates.[ch]: new files implementing the new
GimpTemplate object and the list of available image templates.
* app/core/gimp.[ch]: keep a container of templates around.
* app/core/gimpimage-new.[ch]: ported to use GimpTemplate. Removed
struct GimpImageNewValues.
* app/widgets/gimpcontainermenuimpl.c: changed to show the
"(none)" item for a NULL selection also, not only for an empty
container.
* app/widgets/gimppropwidgets.[ch]: added
gimp_prop_size_entry_connect() which connects an externally
created GimpSizeEntry to object properties. Fixed the size entry
code to actually work.
* app/gui/image-menu.c
* app/gui/file-commands.[ch]: added "Save as Template" which
creates a new template from any image's properties.
* app/gui/file-new-dialog.c: use prop_widgets and GimpTemplate.
Offer the available templates in a menu at the top of the dialog.
2003-03-25 Sven Neumann <sven@gimp.org>
* app/text/gimptext.c: include locale.h for setlocale().
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/widgets/Makefile.am: changed rules that generate enums code
to include gimp-intl.h instead of libgimp-intl.h.
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/*.pdb: include gimp-intl.h.
2003-03-24 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpimage-preview.[ch]: moved the image preview code
to separate files.
* app/core/gimpimage.c: removed the functions here. Removed the
new utility function gimp_image_previews_resize() because it
did exactly what gimp_image_size_changed() should do. Moved
the missing bits to gimp_image_size_changed().
* app/core/gimplayer.c (gimp_layer_apply_mask): call
gimp_viewable_invalidate_preview() only if we don't call
gimp_drawable_update(). Calling them both is redundant.
2003-03-18 Michael Natterer <mitch@gimp.org>
Added an API for image colormap manupulation and made colormap
changes undoable (fixes bug #25963).
* app/core/Makefile.am
* app/core/gimpimage-colormap.[ch]: new files implementing
colormap getters/setters. The setters push undos using the
new function below.
* app/core/core-enums.[ch]: added GIMP_UNDO_IMAGE_COLORMAP.
* app/core/gimpimage-undo-push.[ch]: added
gimp_image_undo_push_image_colormap(). Use GimpItemUndo even more
often. Cleanup.
* app/core/gimpimage.[ch]: removed gimp_image_get_colormap() here.
* app/core/gimpimage-convert.c
* app/gui/colormap-editor-commands.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimptoolbox.c
* tools/pdbgen/pdb/image.pdb: use the new API.
* app/pdb/image_cmds.c: regenerated.
* plug-ins/common/vinvert.c: removed the comment about the bug,
cosmetic cleanup.
Unrelated:
* app/gui/splash.c: added a frame around the splash. Please eek
if it doesn't please you.
2003-03-17 Michael Natterer <mitch@gimp.org>
Made drawable/layer properties (visibility, opacity etc.)
undoable (fixes bug #73893).
* app/core/core-enums.[ch]: added undo types/groups for
visibility, mode, opacity, linked and preserve_trans.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpitemundo.[ch]: new GimpUndo subclass which holds a
ref'ed GimpItem pointer so (1) this doesn't need to be done by all
undo steps related to an item and (2) the item the undo step is
for can be determined from outside the undo system.
* app/core/gimpimage-undo.[ch]: added gimp_image_undo_push_item()
which returns a new GimpItemUndo.
* app/core/gimpimage-undo-push.[ch]: use it for all item related
undo steps. Removed lots of GimpItem, GimpLayer, GimpDrawable
and GimpVectors pointers from the private undo structs. Added
undo push functions for the new undo types added above.
* app/core/gimpdrawable.[ch] (gimp_drawable_set_visible): added
"gboolean push_undo" parameter.
* app/core/gimplayer.[ch] (gimp_layer_set_opacity, _mode,
_preserve_trans, _linked): added "gboolean push_undo" parameters.
* app/core/gimpimage-mask.c
* app/core/gimpimage-merge.c
* app/core/gimplayer-floating-sel.c
* app/tools/gimpmovetool.c
* app/xcf/xcf-load.c
* app/widgets/gimpdrawablelistitem.c
* app/widgets/gimplayerlistitem.c
* app/widgets/gimplayerlistview.c: changed accordingly.
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/layer.pdb: ditto. Added '$undo' paramaters to
the foo_accessors() functions. Removed $func from foo_accesors()
because we don't manipulate items without using getters/setters
any longer.
* app/pdb/channel_cmds.c
* app/pdb/layer_cmds.c: regenerated.
* app/widgets/gimpcellrenderertoggle.[ch]: added "clicked" signal
which carries an additional "GdkModifierType state" parameter as
in GimpCellRendererViewable .
* app/widgets/gimpcontainertreeview.c: emit "clicked" from
the toggle renderer, not "toggled" so the callbacks get the
modifier state.
* app/widgets/gimpdrawabletreeview.c: resurrected the "exclusive
visible by <shift>+click" feature as in 1.2.
* app/widgets/gimplayertreeview.c: compress layer opacity undos by
looking at the top of the undo stack and not pushing an undo if
there already is a GIMP_UNDO_DRAWABLE_OPACITY for the active
layer.
2003-01-31 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-params.h
* app/config/gimpcoreconfig.c: added a pixels parameter to the
GIMP_CONFIG_INSTALL_PROP_UNIT() macro.
* app/core/Makefile.am
* app/core/gimpimage-text.[ch]: removed these two files.
* app/text/Makefile.am
* app/text/gimptext-compat.[ch]: new files with compatibility
routines that provide the old text API (solely for PDB calls).
* app/text/gimptext-render.[ch]: new files with text rendering
routines (not much yet).
* app/text/text-types.h
* app/text/gimptextlayer.[ch]: new object derived from GimpLayer.
* app/text/gimptext.[ch]: prepared for future improvements.
* app/pdb/text_tool_cmds.c
* app/tools/gimptexttool.c
* tools/pdbgen/pdb/text_tool.pdb: changed accordingly.
2002-11-11 Manish Singh <yosh@gimp.org>
* autogen.sh: don't say "Now type 'make'" if configure failed.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpenvirontable.[ch]: Implemented GimpEnvironTable,
keeps an envp array built from system environment and *.env files.
* app/core/gimp.[ch]: keep a GimpEnvironTable around.
* app/gimprc.c
* app/config/gimpcoreconfig.[ch]
* app/core/gimpcoreconfig.h
* app/gui/preferences-dialog.c
* app/gui/user-install-dialog.c: environ-path config stuff
* themes/Default/images/preferences/Makefile.am
* themes/Default/images/preferences/folder-environ.png: just copied
folder.png here, need a better one.
* app/plug-in/plug-in.c: quick hack to use the envp in the
GimpEnvironTable. Only on unix now, should really port the
code to use g_spawn_*.
* data/misc/user_install
* etc/gimprc.in: add environ-path stuff
* data/environ/Makefile: creates system environ directory.
* data/environ/default.env: sample env file info.
* data/Makefile.am
* configure.in: added data/environ dir
* plug-ins/pygimp/Makefile.am: python module files get put in
$(gimpplugindir)/python now, install pygimp.env to point to it.
* plug-ins/pygimp/doc/Makefile.am: minor clean up.
2002-10-10 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimptext.[ch]: added first draft of a GimpText object.
2002-10-09 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-text.[ch]: new files that implement the text
rendering that used to live in gimptexttool.[ch].
* app/core/Makefile.am
* app/core/core-types.h
* app/tools/gimptexttool.[ch]
* tools/pdbgen/Makefile.am
* tools/pdbgen/pdb/text_tool.pdb: changed accordingly.
* tools/pdbgen/enums.pl
* app/pdb/text_tool_cmds.c: regenerated.
2002-08-26 Michael Natterer <mitch@gimp.org>
Color correction tool chopping:
* app/Makefile.am
* app/image_map.[ch]: removed...
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpimagemap.[ch]: ...and added here as object.
* app/base/Makefile.am
* app/base/base-types.h
* app/base/color-balance.[ch]
* app/base/curves.[ch]
* app/base/hue-saturation.[ch]
* app/base/threshold.[ch]: the lowlevel color correction functions
plus their parameter structs cut out of the resp. tools.
* app/core/core-enums.[ch]: removed GimpTransferMode enum...
* app/base/base-enums.[ch]: ...added it here. Also added
GimpHueRange for the new hue-saturation files.
* tools/pdbgen/enums.pl
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c: regenerated.
* app/tools/Makefile.am
* app/tools/gimpcolorbalancetool-transfer.c: removed (code went
to base/color-balance.c).
* app/tools/gimpimagemaptool.[ch]: added most code which was
diplicated in subclasses. Create the dialog here with a nice title
bar including image preview and name (fixes#66033). Added virtual
functions map(), dialog() and reset() which need to be implemented
by subclasses.
* app/tools/gimpbrightnesscontrasttool.[ch]
* app/tools/gimpcolorbalancetool.[ch]
* app/tools/gimpcurvestool.[ch]
* app/tools/gimphuesaturationtool.[ch]
* app/tools/gimplevelstool.[ch]
* app/tools/gimpposterizetool.[ch]
* app/tools/gimpthresholdtool.[ch]: removed tons of duplicated
code and simply implement GimpImageMapTool's virtual functions.
Removed all dialog structs and keep the variables in the tool
structs. The dialogs are now created on-the-fly and destroyed when
the tool goes away, which makes all callbacks much simpler and
safer. Lots of GUI & code cleanup in all dialogs.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: added separate "Reset Channel"
buttons and let the global "Reset" buttons reset all color
channels.
* app/tools/tools.c: the various antique foo_free() functions
don't exist any more.
* app/tools/gimphistogramtool.c: removed ImageMap field from
dialog struct (it was unused). Cleaned up dialog a bit.
* tools/pdbgen/Makefile.am: don't scan tools/gimphuesaturationtool.h
for enums.
* tools/pdbgen/pdb/color.pdb: use the new stuff from base/ and
don't include stuff from tools/ any more.
* app/pdb/color_cmds.c
* app/pdb/paint_tools_cmds.c: regenerated.
2002-06-12 Michael Natterer <mitch@gimp.org>
* app/core/gimpdata.[ch]: added a boolean "internal" which
indicates that the data object is an automatically created
internal object. Changed the code to refuse saving to deleting
internal objects.
* app/core/Makefile.am
* app/core/gimp-gradients.[ch]: new files implementing internal
gradients (FG -> BG in RGB and HSV and FG -> transparent).
* app/core/gimp.c: call gimp_gradients_init().
* app/core/gimpdatafactory.c (gimp_data_factory_data_free): don't
free internal objects so they stay there on "Refresh".
* app/core/gimpdatalist.c: sort internal objects to the beginning
of the list.
* app/widgets/gimpdataeditor.c: refuse to change the name of
internal objects.
* app/widgets/gimpdatafactoryview.c: set the "Delete" button
insensitive for internal objects.
* app/widgets/gimpgradienteditor.c: refuse to edit internal
gradients, just display them so color picking works.
* app/gui/brushes-commands.c
* app/gui/gradients-commands.c
* app/gui/palettes-commands.c
* app/gui/patterns-commands.c: set the "Delete" menu item
insensitive for internal objects.
* app/gui/gui.c: need to call render_setup() earlier because of
you-dont-want-to-know-why. Will change it back once the previews
have their own render buffers.
* app/tools/gimpblendtool.c: Replaced the "Type" menu by a preview
showing the active gradient. Clicking the preview pops up the
gradient selection. Renamed the "Gradient" menu to "Shape". Removed
"blend_mode" from the BlendOptions struct because we always use
"custom" mode now.
2002-06-08 Sven Neumann <sven@gimp.org>
* app/base/Makefile.am
* app/paint-funcs/Makefile.am: automake-1.6 seems to use yet another
variable to pass flags to the assembler (bug #84514). Define
AM_CCASFLAGS like AM_ASFLAGS to satisfy all versions of automake.
* configure.in
* all Makefiles: removed STRIP_BEGIN and STRIP_END since it's a
GNU make extension that we don't really need and newer versions of
automake don't seem to like it.
2002-05-15 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig.[ch]: added a return value to indicate
success of GimpConfigInterface::serialize. Added a GimpConfigError
value for write errors and check the return value of all write()
calls. Allow to specify file header and footer when calling
gimp_config_serialize().
* app/config/gimpconfig-serialize.[ch]
* app/config/gimprc.c: changed accordingly.
* app/core/gimp-documents.[ch]: new files with functions to handle
gimp->documents.
* app/core/gimpdocuments.[ch]: removed ...
* app/core/gimpdocumentlist.[ch]: ... and added under this name.
Implements a generic document list.
* app/core/gimp-parasites.[ch]: new files with functions to handle
gimp->parasites.
* app/core/gimpparasite.[ch]: removed.
* app/core/gimpparasitelist.[ch]: nothing more than a generic
parasite list.
* app/undo.c
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimp.c
* app/core/gimpdrawable.c
* app/core/gimpimage-merge.c
* app/core/gimpimage.c
* app/core/gimpitem.c
* app/file/file-open.c
* app/file/file-save.c
* app/gui/file-open-dialog.c
* app/pdb/parasite_cmds.c
* tools/pdbgen/pdb/parasite.pdb: changed accordingly.
2002-03-28 Michael Natterer <mitch@gimp.org>
* app/config/Makefile.am
* app/config/gimpscanner.[ch]: new files containing a convenience
constructor for GScanner and some parse utility functions, mostly
cut out of app/plug-in/plug-in-rc.c
* app/plug-in/plug-in-rc.c: removed the stuff here, added scopes
to the scanner symbols.
* app/core/Makefile.am
* app/core/gimpunits.[ch]: moved the user_unit list handling and
unitrc stuff to this file. Parse unitrc here, using the new
utility functions instead of using gimprc.
* app/core/gimpunit.[ch]: removed here.
* app/core/gimpdocuments.c: same here: added a scanner for the
document history instead of using gimprc.
* app/gimprc.c: removed unitrc and document history parsing stuff
along with some old unused cruft.
* app/app_procs.c
* app/core/gimp.c
* app/gui/user-install-dialog.c: #include "core/gimpunits.h".
* app/core/gimpdrawable-bucket-fill.c: don't include "gimprc.h".
2002-03-19 Sven Neumann <sven@gimp.org>
* app/base/Makefile.am
* app/base/base-enums.c
* app/core/Makefile.am
* app/core/core-enums.c
* app/widgets/Makefile.am
* app/widgets/widgets-enums.c: purely cosmetic change.
* app/paint/Makefile.am
* app/paint/paint-enums.[ch]: generate paint-enums.c with registered
enums. Skip GIMP_BRUSH_PRESSURE and GIMP_CUSTOM_CONVOLVE so they
don't get exported to libgimp and are not registered as enum values.
* tools/pdbgen/pdb/paint_tools.pdb: removed special casing of
GimpBrushApplicationMode and GimpConvolveType since the forbidden
values are now skipped anyway.
* libgimp/gimpcompat.h: removed compat defines for the forbidden
enum values. They shouldn't have been used.
* app/tools/Makefile.am
* app/tools/tools-enums.[ch]: generate tools-enums.c with registered
enums.
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
* app/paint/gimpclone.[ch]
* app/paint/gimpconvolve.h
* app/paint/gimpdodgeburn.h
* app/tools/gimpclonetool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.[ch]
* app/tools/gimpdodgeburntool.c
* app/tools/paint_options.c: changed accordingly. Added more enum
radio frames and enum option menus.
2002-03-17 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgets.[ch]: new function to set the sensitivity
of an option_menu.
* app/base/base-enums.[ch]: register and describe GimpHistogramChannel.
* app/core/Makefile.am
* app/core/core-enums.[ch]: build with gimp-mkenums, added core-enums.c
to CVS, added descriptions for GimpPreviewSize.
* app/display/Makefile.am
* app/display/display-enums.[ch]: build with gimp-mkenums, added
display-enums.c to CVS, added descriptions for GimpCursorMode.
* app/gui/preferences-dialog.c: more GimpEnumMenus.
* app/tools/gimpcurvestool.c
* app/tools/gimphistogramtool.c
* app/tools/gimplevelstool.c: use a GimpEnumMenu for the Channel menu.
Allow alpha channel in HistogramView. These tools needs more work...
2002-03-06 Simon Budig <simon@gimp.org>
* configure.in
* app/Makefile.am
* app/core/Makefile.am: We depend on Libart now.
* app/core/gimpscanconvert.c: Converted the Scan-Conversion to
use libart. *Way* better results.
2002-02-27 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimppaintinfo.[ch]: new object for registering
GimpPaintCore subclasses, just like GimpToolInfo for tools.
* app/core/gimp.h: added gimp->paint_info_list to hold them.
* app/core/gimptoolinfo.[ch]: removed the "pdb_string" and
"paint_core_name" pointers and added a GimpPaintInfo pointer
instead.
* app/core/gimpimage-mask.c
* app/gui/vectors-commands.c
* app/tools/gimpbezierselecttool.c
* app/tools/tool_manager.c: changed accordingly.
* app/paint/paint-types.h
* app/paint/paint.c: added paint class registration stuff like
the tool_manager does.
* app/paint/gimpairbrush.[ch]
* app/paint/gimpclone.[ch]
* app/paint/gimpconvolve.[ch]
* app/paint/gimpdodgeburn.[ch]
* app/paint/gimperaser.[ch]
* app/paint/gimppaintbrush.[ch]
* app/paint/gimppencil.[ch]
* app/paint/gimpsmudge.[ch]: added register functions which are
called from paint_init().
The core object system lives not only in "core/", but in
core, paint, vectors, file, plug-in and xcf, so I had to hack
a bit to keep the deps working:
* app/pdb/pdb-types.h: don't include "paint/paint-types.h"...
* app/core/core-types.h: ...because it's included here. Moved
the inclusions of the core's subsystems' "foo/foo-types.h"
files to the end of the file.
* app/paint/Makefile.am: Some slimy radioactive uglyness.
* app/gui/drawable-commands.c
* app/tools/gimpblendtool.c: removed calling core functions via
the PDB because it makes no sense to do it manually in only a few
places. This needs to be done generically using generated
wrappers living in "app/commands/" or something...
2001-02-17 Manish Singh <yosh@gimp.org>
* app/core/Makefile.am: add a -DGIMP_COMPILATION so cpercep can
optionally include glib.h. This needs to be done in the makefile.msc
too, but I'm unsure on the right way to do that.
* app/core/cpercep.c: guard #include <glib.h> in GIMP_COMPILATION.
cbrt() is a GNU extension, so define in terms of pow if we aren't
on glibc. Guard CLAMP against redefinition.
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c
* plug-ins/gimpressionist/gimpressionist.c: make them build again
2002-02-10 Adam D. Moss <adam@gimp.org>
* app/core/gimpimage-convert.[ch]:
RGB->Indexed quantizer version 3.0 (the rest of the commit started
a year ago -- whoops). Divide colours within CIE L*a*b* space using
CPercep module (cpercep.[ch]), colour-match and dither likewise,
change the underlying box selection criteria and division point
logic, bump luminance precision upwards, etc. etc.
* app/core/cpercep.[ch] (new files): utility module used by
quantizer for quantifying perceptual colour distances
* app/core/gimpimage-convert-data.h (new file): move the big
static data arrays out of gimpimage-convert.c
* app/core/gimpimage-convert-fsdither.h: static-ify data
* app/core/Makefile.am: add cpercep.[ch] and gimpimage-convert-data.h
2001-12-12 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpimage-pick-color.[ch]: new files.
gimp_image_pick_color() doesn't set the FG or BG color and doesn't
touch the current palettte.
* app/tools/gimpcolorpickertool.[ch]: removed the actual picking
code, set the user_context's FG or BG color here.
* app/gui/palette-editor.[ch]:
s/palette_set_active_color/palette_editor_update_color/, don't set
the FG and BG color here. The function is still #if 0'ed.
* app/gui/toolbox.c: fixed WM resize hints in toolbox_style_set(),
code cleanup.
* app/tools/gimppainttool.[ch]: some cleanup before chopping.
* app/tools/gimpsmudgetool.c: changed accordingly.
* tools/pdbgen/pdb/misc_tools.pdb: removed the possibility to set
the FG or BG color or add the picked color to the active palette
bacause it doesn't belong here. Palette PDB wrappers are on the
TODO anyway.
* app/pdb/misc_tools_cmds.c
* libgimp/gimpmisctools_pdb.[ch]: regenerated.
* plug-ins/perl/examples/image_tile
* plug-ins/perl/examples/logulator
* plug-ins/script-fu/scripts/hsv-graph.scm
* plug-ins/script-fu/scripts/title-header.scm: changed accordingly.
2001-12-10 Sven Neumann <sven@gimp.org>
* app/base/Makefile.am
* app/core/Makefile.am: use GLIB_GENMARSHAL and GLIB_MKENUMS variables
declared by AM_PATH_GLIB_2_0 instead of calling the binaries directly.
2001-12-08 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/core-enums.h: new file that holds enums that are registered
with the type system and is used to generate core-enums.c.
* app/core/core-types.h: include core-enums.h
* app/base/base-types.h: namespace cleanup. Prefix all enumeration
types with Gimp and their values with GIMP. Moved GimpLayerModeEffects
enum ...
* app/base/base-enums.h: ... here.
* app/image_map.c
* app/base/temp-buf.c
* app/core/gimpcontext.[ch]
* app/core/gimpdrawable-transform.c
* app/core/gimpdrawable.c
* app/core/gimpedit.c
* app/core/gimpimage-mask.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-new.c
* app/core/gimpimage-projection.c
* app/core/gimpimage.[ch]
* app/core/gimplayer.[ch]
* app/display/gimpdisplayshell-dnd.c
* app/display/gimpdisplayshell-render.c
* app/gui/brush-select.c
* app/gui/layers-commands.c
* app/gui/preferences-dialog.c
* app/gui/toolbox.c
* app/paint-funcs/paint-funcs.[ch]
* app/tools/gimpconvolvetool.c
* app/tools/gimperasertool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimppainttool.[ch]
* app/tools/gimptexttool.c
* app/tools/paint_options.c
* app/widgets/gimplayerlistview.c
* app/widgets/gimpwidgets-constructors.[ch]
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/tools.pdb: changed accordingly.
* libgimpbase/gimpbasetypes.h: no need to chop GIMP prefix off the
enums any longer.
* app/pdb/brush_select_cmds.c
* app/pdb/brushes_cmds.c
* app/pdb/color_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/message_cmds.c
* app/pdb/procedural_db_cmds.c
* app/pdb/tools_cmds.c
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
* app/gimprc.c: removed code to parse for "plug_in" keyword which was
left over from some very early gimp days.
* app/plug-in/plug-in.[ch]: removed now unused function plug_in_add().
2001-12-01 Daniel Egger <degger@fhm.edu>
* app/core/Makefile.am
* libgimp/Makefile.am
* libgimpbase/Makefile.am
* libgimpcolor/Makefile.am
* libgimpmath/Makefile.am
* libgimpwidgets/Makefile.am
* modules/Makefile.am
* themes/Default/Makefile.am: Don't try to concatenate something
to a variable not used before but simply assign it. Shuts up
annoying automake warnings for me.
2001-11-30 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpimage-qmask.[ch]: new files: the QMask stuff
stripped from GUI code. Added gimp_image_qmask_invert().
* app/core/gimpimage.[ch]: removed the QMask functions.
* app/display/Makefile.am
* app/display/gimpdisplayshell-qmask.[ch]: removed.
* app/gui/Makefile.am
* app/gui/qmask-commands.[ch]: new files for the new QMask item
factory callbacks and the qmask query dialog.
* app/gui/menus.c: added a context menu for the QMask button.
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-handlers.c: don't include the qmask
stuff.
* app/display/gimpdisplayshell-callbacks.[ch]: Moved the 2 qmask
callbacks here. Don't popup the dialog on double_click. Show
the contect menu on right-click.
* app/display/gimpdisplayshell-callbacks.[ch]:
gimp_display_shell_canvas_events(): removed the hack of
conntecting "key_press_event" to gtk_true() while a tool is
active. Instead, check for (event & GDK_BUTTON1_MASK) in the
key_press and key_release handlers and stop signal emission. Save
the modifier state on "button_press" and restore it after
"button_release".
Changed the way context menus are updated/shown:
- removed GimpContainerContextFunc.
- pass around item factory identifiers (e.g. "<Brushes>")
- added voodoo to update the menus before showing them.
* app/widgets/gimpitemfactory.[ch]: gimp_item_factory_new(): take
a GimpItemFactoryUpdateFunc parameter, attach it as data to the
factory and use it to update the menu in
gimp_item_factory_popup_with_date().
* app/widgets/gimpwidgets-utils.[ch]: removed
gimp_item_factory_popup_with_data() here.
* app/widgets/gimpbrushfactoryview.[ch]
* app/widgets/gimpbufferview.[ch]
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdocumentview.[ch]
* app/widgets/gimpdrawablelistview.[ch]: use item_factory
identifier strings all over the place.
* app/widgets/gimpdockbook.c: removed the menu update code, it's
now in gui/dialogs-commands.c.
* app/gui/brushes-commands.[ch]
* app/gui/buffers-commands.[c]
* app/gui/channels-commands.[ch]
* app/gui/dialogs-commands.[ch]
* app/gui/documents-commands.[ch]
* app/gui/gradient-editor-commands.[ch]
* app/gui/gradients-commands.[ch]
* app/gui/layers-commands.[ch]
* app/gui/palettes-commands.[ch]
* app/gui/patterns-commands.[ch]: removed all show_context_menu()
functions and made the update functions public. Changed all
update functions to use the gimp_item_factory_set_foo() methods
instead of gimp_menu_item_set_foo().
* app/gui/menus.c: pass the update functions to the
gimp_item_factory_new().
* app/gui/dialogs-constructors.c: pass item factory identifiers to
all view constructors.
* app/gui/gradient-editor.c: show the context menu using the new
method.
* app/gui/toolbox.c: no need to include "dialogs-commands.h".