2001-07-07 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/context_manager.[ch]: removed.
* app/app_procs.c: call tool_mananger instead of context_manager
functions, pass "the_gimp" to some more functions.
* app/drawable.[ch]: pass a GimpContext to drawable_fill().
* app/errors.c: behave according to "stack_trace_mode" when using
the debugging signal handler.
* app/gimprc.[ch]: removed the core/ config variables.
* app/selection.c: set the selection's state to INVISIBLE in
selection_pause().
* app/core/Makefile.am
* app/core/gimpcoreconfig.[ch]: new files (the configuration
variables used by core/).
* app/core/gimpcontext.[ch]: removed the global contexts (user,
default, ...) and their functions. It's no longer possible to pass
NULL to the context functions to manipulate the current context
(gimpcontext.c doesn't know the current context any more).
* app/core/gimp.[ch]: added them here. The functions are now called
gimp_[set|get]_*_context(). Added gimp_create_context() which is
the only function to create contexts now.
* app/gui/dialogs.[ch]
* app/gui/gui.[ch]: pass "gimp" to all functions.
* app/tools/tool_manager.[ch]
* app/tools/tools.[ch]: pass "gimp" to lots of functions. Added
the "global_tool_context" logic and the global/non-global paint
options switching from the context_manager. Pass "gimp" to all
tools' "register" functions.
* app/tools/*: changed accordingly.
* app/devices.c
* app/disp_callbacks.c
* app/file-open.[ch]
* app/file-save.c
* app/gdisplay.c
* app/gimage.c
* app/libgimp_glue.c
* app/module_db.c
* app/nav_window.c
* app/plug_in.c
* app/qmask.c
* app/undo.c
* app/base/base-config.c
* app/core/gimpbrushpipe.c
* app/core/gimpdrawable-offset.c
* app/core/gimpgradient.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-mask.c
* app/core/gimpimage-new.c
* app/core/gimpimage.c
* app/core/gimppalette.c
* app/core/gimptoolinfo.[ch]
* app/core/gimpundo.c
* app/gui/brush-select.c
* app/gui/channels-commands.c
* app/gui/color-area.c
* app/gui/dialogs-constructors.c
* app/gui/file-new-dialog.c
* app/gui/file-open-dialog.c
* app/gui/gradient-editor.c
* app/gui/gradient-select.c
* app/gui/info-window.c
* app/gui/layers-commands.c
* app/gui/menus.c
* app/gui/palette-editor.c
* app/gui/palette-import-dialog.c
* app/gui/palette-select.c
* app/gui/paths-dialog.c
* app/gui/pattern-select.c
* app/gui/preferences-dialog.c
* app/gui/resize-dialog.c
* app/gui/test-commands.c
* app/gui/tool-options-dialog.c
* app/gui/toolbox.c
* app/gui/tools-commands.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c
* app/widgets/gimpchannellistview.c
* app/widgets/gimpdnd.c
* app/widgets/gimpdrawablelistview.[ch]
* app/widgets/gimpimagedock.c
* app/widgets/gimplayerlistview.c
* app/pdb/brushes_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/gradient_select_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/palette_cmds.c
* app/pdb/patterns_cmds.c
* app/pdb/procedural_db.c
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/palette.pdb
* tools/pdbgen/pdb/patterns.pdb: changed accordingly: remove usage
of gimp_context_[get|set]_*(NULL), create contexts with
gimp_create_context(). Get the user/current context with
gimp_get_[user|current]_context(). Added/removed access to the
global "the_gimp" variable in some places. Get the core's config
variables from "core_config".
2001-07-05 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/image_new.[ch]: removed...
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpimage-new.[ch]: ...and (partly) added here.
* app/core/gimp.[ch]: added gimp_create_image() which will be the
_only_ place to get new images from soon.
Added a "create_display_func" function pointer...
* app/gui/gui.[ch]: ...which gets initialized here.
This way the core can create displays without depending on the
interface.
* app/app_procs.c
* app/apptypes.h
* app/core/gimpedit.c
* app/gui/file-commands.c
* app/gui/file-new-dialog.[ch]: changed accordingly.
2001-06-26 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/color_transfer.[ch]: removed.
* app/tools/Makefile.am
* app/tools/gimpcolorbalancetool-transfer.[ch]: added.
* app/tools/gimpcolorbalancetool.c: changed accordingly.
* app/base/Makefile.am
* app/base/tile-manager-crop.[ch]: formerly known as crop_buffer().
* app/tools/gimptexttool.c: changed accordingly.
* app/context_manager.[ch]: added the global clipboard and the
named buffer list here.
* app/app_procs.c: don't call color_transfer_init() and don't free
the buffer stuff (done by the context manager now).
* app/errorconsole.c: don't #include "gui/commands.h"
* app/global_edit.[ch]: removed lots of stuff which is now done by
gui/edit-commands.* or the new GimpBuffer object. The "paste
named" dialog will go away and this file will be moved to core/
soon.
* app/image_new.c: no need to declare the global_buffer extern any
more.
* app/qmask.c: don't #include "global_edit.h"
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpbuffer.[ch]: new object (aka named buffer)
* app/core/gimpcontext.[ch]: added a GimpBuffer attribute.
* app/core/gimpimage.[ch]: one s/int/gboolean/.
* app/core/gimppattern.c: hmm...
* app/gui/commands.[ch]: split up in small files:
* app/gui/Makefile.am
* app/gui/edit-commands.[ch]
* app/gui/file-commands.[ch]
* app/gui/image-commands.[ch]
* app/gui/select-commands.[ch]
* app/gui/view-commands.[ch]: new files.
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c: added the named buffer list & grid.
* app/gui/file-new-dialog.[ch]
* app/gui/menus.c
* app/gui/palette-editor.c
* app/gui/test-commands.c: changed accordingly.
* app/pdb/edit_cmds.c
* tools/pdbgen/pdb/edit.pdb: changed for the global_edit stuff.
* app/widgets/Makefile.am
* app/widgets/gimpbufferpreview.[ch]
* app/widgets/gimpbufferview.[ch]
* app/widgets/gimpcontainereditor.[ch]: new widgets.
* app/widgets/gimpcontainerview-utils.c
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdnd.[ch]
* app/widgets/gimpdrawablepreview.c
* app/widgets/gimplayerlistview.c
* app/widgets/gimppreview.c
* app/widgets/widgets-types.h: changed accordingly for the new
GimpBuffer object and it's views, misc. cleanups.
* pixmaps/Makefile.am
* pixmaps/paste-as-new.xpm
* pixmaps/paste-into.xpm
* pixmaps/paste.xpm: new pixmaps (they all look the same... Tigert? ;-)
* po/POTFILES.in: added the new files.
2001-06-07 Michael Natterer <mitch@gimp.org>
* configure.in: added zh_TW.Big5 to ALL_LINGUAS. Added the
STRIP_BEGIN and STRIP_END macros from gtk+.
* app/base/makefile.msc: unmodified copy of app/core/makefile.msc
(just to make "make dist" work).
* */Makefile.am: use @STRIP_BEGIN@ and @STRIP_END@ all over the
place. The Makefiles are a bit uglier now but it makes compiling
output much more readable.
2001-06-05 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/base/Makefile.am
* app/core/Makefile.am
* app/gui/Makefile.am
* app/paint-funcs/Makefile.am
* app/pdb/Makefile.am
* app/tools/Makefile.am
* app/widgets/Makefile.am: no need to build .la objects for
convenience libraries which are never linked into another dynamic
library. Create simple .a files instead. Reduces compilation time
of app/ by about 50%.
2001-05-24 Michael Natterer <mitch@gimp.org>
* config.guess
* config.sub: new versions from CVS (at least that's what my
debian package says...)
* app/Makefile.am
* app/gimppreviewcache.[ch]: removed.
* app/core/Makefile.am
* app/core/gimppreviewcache.c: added.
* app/core/gimpdrawable.c: reordered #includes
* app/apptypes.h: make ImageMap a proper opaque typedef, not
simply a gpointer.
* app/image_map.[ch]: changed accordingly. cleanup.
* app/tools/color_balance.h
* app/tools/curves.h
* app/tools/gimptool.c
* app/tools/histogram_tool.h
* app/tools/hue_saturation.h
* app/tools/threshold.h: changed here too.
* libgimpbase/gimpbasetypes.h: /*< skip >*/ GIMP_UNIT_PERCENT as
it's a UI convenience thing and no unit.
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
* libgimpwidgets/gimpbutton.c: maybe this change makes GimpButton
behave even more careful when changing GtkButton's private stuff.
2001-05-21 Michael Natterer <mitch@gimp.org>
* Makefile.am
* configure.in
* gimptool-1.4.in: added new directory libgimpbase/
* app/Makefile.am: link against the new lib.
* app/appenums.h: removed the PDB enums which are in
libgimpbase/gimpbasetypes.h now. They are all "Gimp" prefixed.
* app/apptypes.h: #include "libgimpbase/gimpbasetypes.h"
* app/[lots]
* app/core/[of]
* app/gui/[files]
* app/tools/: changed includes and all PDB types.
* app/pdb/*: regenerated.
* libgimp/Makefile.am: don't build libgimpi.a uglyness any more.
* libgimp/gimpenv.[ch]
* libgimp/gimplimits.[hh]
* libgimp/gimpparasite.[ch]
* libgimp/gimpparasiteio.[ch]
* libgimp/gimpprotocol.[ch]
* libgimp/gimpsignal.[ch]
* libgimp/gimpunit.h
* libgimp/gimputils.[ch]
* libgimp/gimpwire.[ch]: removed...
* libgimpbase/*: ...and added here as new library.
* libgimp/gimp.[ch]
* libgimp/gimpdrawable.[ch]
* libgimp/gimpenums.h
* libgimp/gimpimage.[ch]
* libgimp/gimptile.c
* libgimp/gimptypes.h
* libgimp/gimpunit.c: changed accordingly. Added the
gimp_*_add_new_parasite to gimp.[ch], gimpdrawable.[ch] and
gimpimage.[ch].
* libgimpwidgets/gimppatheditor.c
* libgimpwidgets/gimpquerybox.c
* libgimpwidgets/gimpsizeentry.c
* libgimpwidgets/gimpunitmenu.c
* libgimpwidgets/gimpwidgets.c
* libgimpwidgets/gimpwidgetstypes.h: changed includes accordingly.
* plug-ins/*/Makefile.am
* plug-ins/common/mkgen.pl: link against libgimpbase.
* tools/pdbgen/Makefile.am: scan libgimpbase/gimpbasetypes.h, so
the enums are known to pdbgen...
* tools/pdbgen/enumcode.pl: ...but don't write them out to
libgimp/gimpenums.h
* tools/pdbgen/app.pl: include libgimp/gimpbase.h in all *_cmds.c
files. Added GIMP_ to the type names ganerated in app/.
* tools/pdbgen/enums.pl: regenerated.
* tools/pdbgen/pdb.pl
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/procedural_db.pdb
* tools/pdbgen/pdb/unit.pdb: changed includes.
2001-05-20 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* plug-ins/script-fu/Makefile.am: put the regex and MMX sources to
EXTRA_DIST so they get distributed unconditionally.
* tools/pdbgen/pdb/layer.pdb: re-enabled the layer_mask procs but
let them use accessors (which don't exist)...
* app/pdb/pdb_glue.h: ... #define the accessors as macros here.
Yes, this is ugly, but I simply don't fully understand pdbgen
yoshcode.
* app/pdb/internal_procs.c
* app/pdb/layer_cmds.c
* libgimp/gimplayer_pdb.[ch]: regenerated with the layer_mask
accessors.
* app/tools/Makefile.am: add the files which are not built to
EXTRA_DIST.
* pixmaps/Makefile.am
* pixmaps/channel.xbm
* pixmaps/eye.xbm
* pixmaps/layer.xbm
* pixmaps/linked.xbm
* pixmaps/mask.xbm: removed.
* plug-ins/Makefile.am: build XJT again because the layer_mask
stuff is back. Perl also seems to build again.
* plug-ins/common/aa.c: explicit casting fixes some warnings.
* plug-ins/script-fu/interp_regex.c: #include "config.h".
2001-05-15 Michael Natterer <mitch@gimp.org>
* configure.in: new directory app/base/
* app/Makefile.am
* app/boundary.[ch]
* app/brush_scale.[ch]
* app/gimpchecks.h
* app/gimplut.[ch]
* app/pixel_processor.[ch]
* app/pixel_region.[ch]
* app/pixel_surround.[ch]
* app/temp_buf.[ch]
* app/tile.[ch]
* app/tile_cache.[ch]
* app/tile_manager.[ch]
* app/tile_manager_pvt.h
* app/tile_pvt.h
* app/tile_swap.[ch]: moved to base/
* app/base/Makefile.am
* app/base/base-types.h
* app/base/*: new directory for the sub-object pixel maniplation
and storage stuff. Does not include Gtk+ or anything outside
base/. Did some cleanup in all files.
* app/appenums.h
* app/apptypes.h
* app/core/gimpimage.h: removed types which are now in
base/base-types.h.
* app/base/base-config.[ch]
* app/gimprc.[ch]: put the config variables for base/ to their own
file so base/ doesn not have to include gimprc.h (does not yet
work, i.e. the variables are un-configurable right now)
* app/main.c: set a log handler for "Gimp-Base".
* app/paint-funcs/Makefile.am
* app/paint-funcs/paint-funcs.[ch]: removed the color hash which
maps RGB to color indices because it's a totally standalone system
which has nothing to do with the paint-funcs and introduced a
GimpImage dependency.
paint-funcs/ should be considered on the same sub-object
(glib-only) level as base/, only in a different directory.
* app/core/Makefile.am
* app/core/gimpimage-colorhash.[ch]: put the color hash here.
* app/gimage.c: don't invalidate the color hash here...
* app/core/gimpimage.c: ... but in the colormap_changed() default
inplementation. Initialize the hash in class_init().
* tools/pdbgen/Makefile.am: scan app/base/base-types.h for enums.
* tools/pdbgen/enums.pl: regenerated.
* app/[lots]
* app/core/[of]
* app/gui/[files]
* app/pdb/[all]
* app/tools/[over]
* app/widgets/[the]
* tools/pdbgen/pdb/[place]: changed #includes accordingly. And use
base_config->value instead of the stuff from gimprc.h.
2001-05-14 Sven Neumann <sven@gimp.org>
* app/Makefile.am
* app/pixmaps2.h: removed this file ...
* app/tools/Makefile.am
* app/tools/icons.h: ... and readded it here with some changes.
* app/tools/*.c: include the new icons.h file
* app/pdb/procedural_db.[ch]: declare name as const
2001-05-11 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/lc_dialog.[ch]: taken behind the curtain and shot.
(famous words of Seth Burgess on #gimp)
* app/app_procs.c
* app/gdisplay.c
* app/gimage.c
* app/gui/commands.c
* app/gui/gui.c
* app/gui/menus.c
* app/gui/preferences-dialog.c: don't #include it or call it's
functions any more.
* app/gui/dialogs-commands.[ch]: added a constructor for a dock
which looks like the old L&C dialog (taken from test-commands.*)
* app/gui/test-commands.[ch]: removed here.
* app/gui/dialogs-constructors.[ch]: wrapped the old
paths-dialog.* stuff in a dockable which can be created only
once. Will go away as soon as the new path stuff is there.
* app/gui/dialogs.c: added the paths dockable, removed lc_dialog.
* app/gui/paths-dialog.c: some changes to make it work without the
lc_dialog around it. Will probably crash randomly and refuse to
update it's contents properly (scheduled for removal).
2001-04-22 Michael Natterer <mitch@gimp.org>
* app/Makefile.am: cleanup.
* app/interface.c: #include "gimpui.h"
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c
* app/gui/menus.c
* app/gui/test-commands.[ch]: changes for the image menu below.
* app/apptypes.h
* app/widgets/Makefile.am
* app/widgets/gimpcontainermenu.[ch]
* app/widgets/gimpcontainermenuimpl.[ch]: new widgets. The actual
implemtation lives in a separate file because
gimpcontainermenu.c's code is identical to gimpcontainerview.c's
except for the base class. This will become an interface with Gtk 2.0.
* app/widgets/gimpimagedock.[ch]: a dock with an image menu. The
pages still don't follow the context correctly.
* app/widgets/gimpmenuitem.[ch]: a menu item with a preview.
* app/widgets/gimpdialogfactory.[ch]: pass a dock constructor to
the constructor and provide a method to create a new dock within
this factory's context.
* app/widgets/gimpdock.[ch]: removed the constructor because we
create only image docks now. Put the vbox into a main_vbox (which
also contains the image menu).
* app/widgets/gimpdockbook.[ch]: create new docks with the dialog
factory.
* app/gimpcontainer.[ch]
* app/gimpdata.[ch]
* app/gimpdatafactory.[ch]
* app/gimpdatalist.[ch]
* app/gimplist.[ch]
* app/gimpviewable.[ch]
* app/widgets/gimpbrushpreview.[ch]
* app/widgets/gimpcontainergridview.[ch]
* app/widgets/gimpcontainerlistview.[ch]
* app/widgets/gimpcontainerview.[ch]
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdrawablelistitem.[ch]
* app/widgets/gimpdrawablelistview.[ch]
* app/widgets/gimpdrawablepreview.[ch]
* app/widgets/gimplayerlistitem.[ch]
* app/widgets/gimplayerlistview.[ch]
* app/widgets/gimplistitem.[ch]
* app/widgets/gimppalettepreview.[ch]
* app/widgets/gimppatternpreview.[ch]
* app/widgets/gimppreview.[ch]: ass-sign some copyrights.
2001-04-21 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/lc_dialogP.h
* app/paths_dialogP.h: removed stuff that will go away anyway (put
the declarations to the public headers).
* app/gimpui.[ch]: new function gimp_widget_get_callback_context()
which may only be called from a *_cmd_callback() and returns the
data we attached with weird methods.
* app/gui/Makefile.am
* app/gui/channels-commands.[ch]: callbacks independent from the
channels dialog and the "new" and "edit channel" dialogs.
* app/gui/channels-dialog.[ch]
* app/gui/layers-commands.c
* app/gui/layers-dialog.[ch]
* app/lc_dialog.[ch]
* app/gui/menus.c
* app/gui/paths-dialog.[ch]
* app/tools/gimpbezierselecttool.c
* po/POTFILES.in: changed accordingly.
2001-04-20 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/layers_dialogP.h: removed.
* app/gimpui.[ch]: new function gimp_menu_position().
* app/disp_callbacks.c
* app/interface.c
* app/gui/layers-dialog.c: popup the image and layers menu with
gtk_item_factory_popup_with_data() instead of gtk_menu_popup()
and pass the GimpImage we're operating on as data.
For accelerators, which are invoked without context, we catch key
press events and attach the context to the GtkItemFactory.
* app/gui/Makefile.am
* app/gui/layers-commands.[ch]: common layer callbacks (instead of
separate ones in commands.c and layers-dialog.c
* app/gui/commands.[ch]
* app/gui/layers-dialog.[ch]: removed the menu callbacks here.
* app/gdisplay.h
* app/lc_dialog.c
* app/gui/channels-dialog.c
* app/gui/layer-select.c
* app/gui/menus.c
* po/POTFILES.in: changed accordingly.
2001-04-19 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/brush_header.h
* app/pattern_header.h
* app/desaturate.[ch]
* app/equalize.[ch]
* app/invert.[ch]: removed.
* app/gimpbrush-header.h
* app/gimppattern-header.h
* app/gimpdrawable-desaturate.[ch]
* app/gimpdrawable-equalize.[ch]
* app/gimpdrawable-invert.[ch]: new files.
* app/gui/commands.c: put some stuff from desaturate, equalize and
invert here. While it's ok to check the drawable type in the
callback, this is the wrong place for PDB wrappers.
* app/gimpbrush.c
* app/gimpbrushpipe.c
* app/gimplayer.c
* app/gimppattern.c
* app/pdb/color_cmds.c
* plug-ins/common/gbr.c
* plug-ins/common/gih.c
* plug-ins/common/pat.c
* po/POTFILES.in
* tools/pdbgen/pdb/color.pdb: changed accordingly.
2001-04-18 Michael Natterer <mitch@gimp.org>
* app/Makefile.am: commented the sections of the file list.
* app/gui/Makefile.am: cleanup.
* app/unittest/*: removed.
2001-04-15 Michael Natterer <mitch@gimp.org>
* app/Makefile.am: grouped the files together which will go to gui/.
* app/widgets/gimpdialogfactory.[ch]: maintain a list of open
GimpDocks for session management.
* app/widgets/gimpdock.c: register open docks with the dialog
factory.
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdockbook.c: pass a pointer to the GimpDockbook
to the GimpDockable's "get_tab" function because the function is
called before the dockable is added to the dockbook.
* app/test_commands.c
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c: changed accordingly.
2001-04-14 Michael Natterer <mitch@gimp.org>
* configure.in
* app/Makefile.am
* app/gui/Makefile.am: new directory which will contain all gui code
except widgets (I was tired off adding new files to app/).
* app/apptypes.h
* app/gui/gimpdialogfactory.[ch]: factory which produces dialogs
from string descriptions. Should maybe go to widgets/.
* app/gui/dialogs-commands.[ch]: callbacks for the new menu
factory below.
* app/gui/dialogs-constructors.[ch]: dialog constructors which are
registered with the dialog factory.
* app/gui/dialogs.[ch]: register the dialogs with the factory.
* app/app_procs.c: call dialogs_register().
* app/menus.[ch]: a new item factory for creating dialogs.
* app/test_commands.c
* app/widgets/gimpdock.[ch]: added a dialog factory pointer to the
GimpDock struct.
* app/widgets/gimpdockbook.[ch]: badly (badly!) fiddle around with
GtkNotebook's menu to get it integrated in the GtkItemFactory
which produces new dialogs.
2001-04-10 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimpdockbook.[ch]: new object (the notebook separated out
of gimpdock.[ch]).
* app/gimpdnd.h: new DND type "DIALOG".
* app/gimpdock.[ch]
* app/gimpdockable.[ch]: DND mostly works now.
* app/menus.c
* app/test_commands.[ch]: updated.
2001-04-07 Simon Budig <simon@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/path_bezier.[ch]
* app/path_curves.[ch]
* app/pixmaps2.h
* app/tools/Makefile.am
* app/tools/gimpdrawtool.[ch]
* app/tools/path_tool.[ch]
* app/tools/path_toolP.h
* app/tools/tools.c
new files:
* app/tools/gimppathtool.c
* app/tools/gimppathtool.h
Reactivated (at least partially) the old new path tool. It
will undergo major restructuring. Especially the path data
will become proper objects. This definitely is work in progress
and totally unuseable now.
2001-04-07 Michael Natterer <mitch@gimp.org>
* configure.in
* app/Makefile.am
* app/paint-funcs/.cvsignore
* app/paint-funcs/Makefile.am: made the paint-funcs directory compile
so Prof can continue hacking it. The old stuff still needs to be
removed.
* app/apptypes.h
* app/gimpdock.[ch]
* app/gimpdockable.[ch]: new widgets (not used yet).
* app/menus.c
* app/test_commands.[ch]: untested testing code for the new widgets.
2001-04-02 Sven Neumann <sven@gimp.org>
* app/Makefile.am
* app/detect_mmx.S
* app/arch/i386/mmx/detect_mmx.S
* app/arch/i386/mmx/paint_funcs_mmx.S
* app/arch/i386/mmx/paint_funcs_mmx.S.m4: split MMX detection out
of paint_funcs_mmx.S and replaced it with a working version (the
old one used to execute an illegal instruction on non-MMX systems).
2001-03-31 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/pixel_surround.[ch]: lowlevel stuff taken out of the transform
tool.
* app/tools/gimpscaletool.[ch]: minor cleanups, declare
gimp_scale_tool_register() publically.
* app/tools/gimptransformtool.[ch]: removed the PixelSurround stuff,
hardcode tr_tool->interactive to TRUE, removed the no_draw() function,
register the tool options, misc. other fixes and bad hacks that need
to go away.
(All this non-interactive stuff needs to be done outside the tool
system. A "non-interactive tool" is just pure nonsense)
* app/tools/gimptool.h: spacing.
* app/tools/tool_manager.c: tool_manager_register_tool_options():
return after warning, don't simply continue and crash.
* app/tools/tools.c: register the bezier select tool.
2001-03-11 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimplayerlistview.[ch]: new subclass of GimpDrawableListView
(the upcoming replacement of the layers dialog). Connects to the
new GimpLayer signals using the layer container as signal proxy
(see below).
* app/gimpcontainerview.[ch]: made "set_container" a virtual
function. This is needed by the GimpLayerListView to
connect/disconnect signals. Subclasses implementing this method
MUST obey the following order of instructions:
1. disconnect from signals related to GimpContainerView->container
2. chain up (!!!)
3. connect to signals related to GimpContainerView->container
And yes, I will add DocBook files for all those new objects :)
* app/gimppreview.[ch]: made "border_color" a GimpRGB instead of
guchar[3]. Added gimp_preview_set_border_color().
* app/gimpcontainergridview.c
* app/gimplayerlistitem.c: use gimp_preview_set_border_color().
* app/gimpcontainerlistview.c
* app/gimpdrawablelistview.c: cleanup.
* app/gimpdrawablelistitem.c: we can safely asume that our parent
widget is a GimpDrawableListView and use it's "reorder_drawable"
function pointer (after checking that it's there).
* app/gimplistitem.c: connect the correct DND type when changing
the container of a list item with "reorderable" enabled.
* app/gimplayer.[ch]: added accessors and "*_changed" signals for
layer->mode, layer->opacity and layer->preserve_trans.
* app/disp_callbacks.c: fixed a FIXME: use the correct bucket fill
tool context again.
* app/tools/paint_options.[ch]: paint_mode_menu_new(): added a
boolean which toggles the "Behind" item on/off to the same
constructor can be used for all paint mode menus.
* app/tools/gimptoolinfo.c: rect. select is the standard tool again.
* app/brush_select.c
* app/floating_sel.c
* app/gimpimage.c
* app/layers_dialog.c
* app/pdb/layer_cmds.c
* app/tools/gimpeditselectiontool.c
* tools/pdbgen/pdb/layer.pdb: use the new layer accessors and the
paint_mode_menu constructor.
* app/commands.c
* app/gdisplay.c
* app/menus.c
* app/undo.c
* app/tools/gimppainttool.c
* app/tools/gimptool.c
* app/tools/paint_options.c
* app/tools/tool_manager.c: put the #warning's back inside
#ifdef __GNUC__
* app/Makefile.am
Inclusion of David's MMX code into Makefile now
depends on prior definition of HAVE_ASM_MMX.
* app/pdb/procedural_db.c
Line 276 cast of va_args to type GimpRGB seems
very problematical on SGI, as the va_args macro
expands to Extreme Ugliness and
(GimpRGB)(Extreme Ugliness) does not compile.
RH Linux seems indifferent and accepts either.
* app/commands.c
* app/gdisplay.c
* app/menus.c
* app/plug_in_cmds.c
* app/undo.c
* app/tools/gimppainttool.c
* app/tools/gimptool.c
* app/tools/paint_options.c
* app/tools/tool_manager.c
s|#<remark about extreme buggedness>|
/* #<remark about extreme buggedness> */|
Not all compilers are at peace with non-standard
pre-compiler directives. SGI MIPs compilers are
among the latter species.
2001-03-05 Sven Neumann <sven@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimpimage-undo.[ch]
* app/gimpundo.[ch]
* app/gimpundostack.[ch]: added new GimpUndo and GimpUndoStack objects
which will be used for the upcoming new undo system. Actually my
current plan for the undo system is to keep it pretty much as it is...
* app/gimpimage.[ch]: added new GimpUndoStacks but temporarily kept
old GSLists around, so I don't break everything now.
2001-03-04 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimplayerlistitem.[ch]: new widget derived from
GimpDrawableListItem (additionally displays the layer mask),
* app/gimplistitem.[ch]: added the preview_size to the struct so
subclasses can create previews at arbitrary times. Removed the
"preview_size" parameter from "set_viewable".
* app/gimpimage.[ch]: removed the layer mask functions because
they belong to GimpLayer.
* app/gimplayer.[ch]: folded the layer mask code from GimpImage
into GimpLayer's layer mask functions. Added a "mask_changed"
signal which is emitted when a mask is added/removed. Added
"push_undo" parameters to the functions so we can use them from
the undo system.
* app/undo.c: instead of badly poking the GimpLayer struct, use
the accessors with push_undo = FALSE.
* app/gimage_mask.c
* app/gimpdrawablelistitem.c
* app/layers_dialog.c
* app/xcf.c
* app/pdb/image_cmds.c
* tools/pdbgen/pdb/image.pdb: changed accordingly.
2001-03-04 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimpdrawablelistitem.[ch]
* app/gimplistitem.[ch]: new widgets capable of reordering
themselves using DND.
* app/gimpcontainerlistview.c: removed stuff which is now done
by the GimpListItem.
* app/gimpdnd.[ch]: new function gimp_dnd_get_drag_data(widget)
which returns a GimpViewable using the widget's drag callback.
* app/gimpdrawablelistview.c: implement GimpContainerView's
"insert_item" method and enable reordering for the created
GimpListItem.
2001-02-27 Michael Natterer <mitch@gimp.org>
* app/apptypes.h
* app/Makefile.am
* app/gimpdrawablelistview.[ch]: new widget. The upcoming replacement
for the layers and channels dialogs.
* app/test_commands.[ch]: put the test dialogs here...
* app/commands.[ch]: ... and made this one clean again.
* app/gimpcontainergridview.c
* app/gimpcontainerlistview.c
* app/gimpcontainerview.[ch]: some signal handling fine tuning.
* app/gimpimage.[ch]: emits "active_layer_changed" and
"active_channel_changed" signals now. The semantics of
gimage->active_layer and gimage->active_channel have changed a bit.
We now have either an active layer _or_ and active channel (there
is no active layer any more if a channel is active).
* app/channel_ops.c
* app/floating_sel.c
* app/gdisplay.c
* app/layers_dialog.c
* app/menus.c: changed accordingly.
* app/tools/gimpcolorpickertool.c: actually assign the draw_class
vraiable in the class_init function.
* app/tools/gimpdrawtool.[ch]
* app/tools/tool.c: removed the _new() functions because these
objects are abstract superclasses. Did some cleanup.
Nathan, please configure you editor to _not_ produce any tabs
in the source code.
* app/tools/gimppaintbrushtool.[ch]: "blurb" and "help" are tagged
with _(), not N_(). Put the register function to the header.
* po/POTFILES.in: made it compile again.
2001-02-25 Michael Natterer <mitch@gimp.org>
* app/channel_ops.c
* app/channels_dialog.c
* app/commands.c
* app/floating_sel.c
* app/gdisplay.c
* app/gimpimage.[ch]
* app/layer_select.c
* app/layers_dialog.c
* app/undo.c
* app/xcf.c
* app/tools/move.c: remove direct access of gimage->active_layer and
gimage->active_channel. Reading access is of course harmless, but
gimp_image_set_active_blah() will trigger a signal emission soon.
It will probably be neccessary to change the functions to accept
NULL layers and channels to acheive exactly what weird places like
floating_sel.c did before by setting it directly.
* gimptool-1.4.in
* libgimp/Makefile.am
* libgimpcolor/Makefile.am
* libgimpmath/Makefile.am
* libgimpwidgets/Makefile.am
* plug-ins/libgck/gck/Makefile.am: made linking against stable
GIMP installed in the same prefix work again by renaming all our
libraries explicitly to libgimp<foo>-1.3.* (not as part of the
libtool revision but as part of the library name). Removed the
libtool revision to avoid double versioning. This has to be
hardcoded in the libraries' Makefile.am ...
* app/Makefile.am
* plug-ins/FractalExplorer/Makefile.am
* plug-ins/Lighting/Makefile.am
* plug-ins/MapObject/Makefile.am
* plug-ins/bmp/Makefile.am
* plug-ins/common/Makefile.am
* plug-ins/common/mkgen.pl
* plug-ins/dbbrowser/Makefile.am
* plug-ins/faxg3/Makefile.am
* plug-ins/fits/Makefile.am
* plug-ins/flame/Makefile.am
* plug-ins/fp/Makefile.am
* plug-ins/gap/Makefile.am
* plug-ins/gdyntext/Makefile.am
* plug-ins/gfig/Makefile.am
* plug-ins/gflare/Makefile.am
* plug-ins/gfli/Makefile.am
* plug-ins/gimpressionist/Makefile.am
* plug-ins/helpbrowser/Makefile.am
* plug-ins/ifscompose/Makefile.am
* plug-ins/imagemap/Makefile.am
* plug-ins/maze/Makefile.am
* plug-ins/mosaic/Makefile.am
* plug-ins/pagecurl/Makefile.am
* plug-ins/plugin-helper/Makefile.am
* plug-ins/print/Makefile.am
* plug-ins/rcm/Makefile.am
* plug-ins/script-fu/Makefile.am
* plug-ins/sel2path/Makefile.am
* plug-ins/sgi/Makefile.am
* plug-ins/webbrowser/Makefile.am
* plug-ins/xjt/Makefile.am: ... while all other Makefiles can simply
link against "libgimp<foo>-$(LT_REVISION).la"
2001-02-23 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimptoolinfopreview.[ch]: new widget.
* app/gimppreview.c
* app/tools/gimptoolinfo.c
* app/gimpdnd.c: changed for the tool info preview. Still buggy
and looks a bit funny at the moment :-)
* app/commands.[ch]
* app/menus.c: small new feature: shift-X toggles the whole context.
2001-02-23 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/pixmaps.h
* app/wilber.h: removed some data files from app/
* pixmaps/Makefile.am
* pixmaps/default.xpm
* pixmaps/swap.xpm
* pixmaps/wilber3.xpm: added them here.
* app/pixmaps2.h: added the "dialog_bits" stuff here.
* app/tips_dialog.c
* app/toolbox.c: use the new XPMs and remove hacks which created
the GdkPixmaps and GtkPreviews manually.
2001-02-19 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimppalette-import.[ch]: new files. The import functions
stripped from all UI crap.
* app/palette_import.c: removed from here.
* plug-ins/plugin-helper/*: prototype for an extension that allows
gmodules as plugins. Known bug: crashes on gmodules with a static "query" function
* app/tools/tool.c
* app/tools/tool.h: created new GimpTool object. Did away with ToolInfo.
Most tools still need to be ported over to the new api.
* plug-ins/script-fu/script-fu-scripts.c: fixed typo in comment. Pathetic, huh?
2001-02-13 Michael Natterer <mitch@gimp.org>
* gimprc.in
* user_install
* user_install.bat
* app/gimprc.[ch]
* app/preferences_dialog.c: removed the "brush_vbr_path" variable,
because all data types will be editable and saveable soon.
* app/Makefile.am
* app/apptypes.h
* app/gimpdatafactory.[ch]: new object which holds a data list and
knows how to create, edit, duplicate etc. the items in it. Will
completely replace the brushes.[ch], patterns.[ch], ... files soon.
* po/POTFILES.in
* app/gimpdatacontainerview.[ch]: removed.
* app/gimpdatafactoryview.[ch]: added.
A view on the GimpDataFactory with a GUI for creating, editing,
deleting etc. items (mostly unimplemented).
* app/context_manager.[ch]: replaced the global data lists by global
data factories.
* app/brush_select.c
* app/brushes.[ch]
* app/commands.c
* app/convert.c
* app/devices.c
* app/gimpbrush.[ch]
* app/gimpbrushgenerated.c
* app/gimpcontext.c
* app/gimpdata.[ch]
* app/gimpdatalist.[ch]
* app/gimpdnd.c
* app/gimpgradient.[ch]
* app/gimppalette.[ch]
* app/gimppattern.[ch]
* app/gradient_editor.c
* app/gradient_select.c
* app/gradients.[ch]
* app/indicator_area.c
* app/palette.c
* app/palette_import.c
* app/palette_select.c
* app/palettes.[ch]
* app/pattern_select.c
* app/patterns.[ch]
* app/pdb/brush_select_cmds.c
* app/pdb/brushes_cmds.c
* app/pdb/convert_cmds.c
* app/pdb/gradient_select_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/pattern_select_cmds.c
* app/pdb/patterns_cmds.c
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/patterns.pdb: changed accordingly.
2001-02-13 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* po/POTFILES.in
* app/gimpdatacontainerview.[ch]: new widget which will replace the
current brush, pattern, ... selections. To really use it, there
needs to be a GimpDataFactory object (coming soon...)
* app/commands.[ch]
* app/menus.c: added test data container views.
* app/paint_funcs_simd.S: #include the implementation with "", not <>
2001-02-12 Michael Natterer <mitch@gimp.org>
* app/Makefile.am: took gimpcontextpreview.[ch] out of the build
but still left the sources there as reference.
* app/app_procs.c: initialize the render stuff before creating the
toolbox (needed for the previews).
* app/devices.c
* app/indicator_area.c: use GimpPreviews instead of
GimpContextPreviews.
* app/context_manager.[ch]: create the global data lists here
because they now must exist before any context is created.
* app/brushes.[ch]
* app/gradients.[ch]
* app/palettes.[ch]
* app/patterns.[ch]: removed them here.
* app/gimpcontainer.[ch]: added a "freeze_count" and emit the
"freeze" and "thaw" signals accordingly.
* app/gimpcontext.[ch]: greatly simplified the way how the
contexts connect to the data lists (simply keep them connected all
the time). Also removed all those ugly explicit update functions
because "thaw" callbacks do this job now.
* app/gimpdata.c: a GimpData object now becomes dirty on
"name_changed"; "dirty" now triggers "invalidate_preview" because
the context does not dispatch these signals any more soon.
* app/brush_select.c
* app/convert.c
* app/gimpdnd.c
* app/gradient_editor.c
* app/gradient_select.c
* app/pattern_select.c
* app/gradient_editor.c
* app/gradient_select.c
* app/gradients.[ch]
* app/pdb/brush_select_cmds.c
* app/pdb/brushes_cmds.c
* app/pdb/convert_cmds.c
* app/pdb/gradient_select_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/pattern_select_cmds.c
* app/pdb/patterns_cmds.c
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/patterns.pdb: changed accordingly.
2001-02-11 Michael Natterer <mitch@gimp.org>
Made a GimpContainer out of the palette list:
* app/Makefile.am
* app/palettes.[ch]: new files for the global palette list.
* app/gimpgradientpreview.[ch]
* app/gimppalettepreview.[ch]: new widgets.
* app/gimppalette.[ch]: derive it from GimpData to get all the
preview etc. stuff.
* app/datafiles.[ch]: new function datafiles_check_extension(),
added a "loader_data" parameter to datafiles_read_directories()
and pass it to the loader function.
* app/gimpcontext.[ch]: added the palette (not really used yet
except by the test dialogs).
* app/gimpdatalist.[ch]: new function gimp_data_list_save_and_clear()
which does everything needed for patterns_free(), brushes_free() ...
* app/gimpdnd.c: added palette DND.
* app/app_procs.c
* app/brushes.c
* app/color_notebook.h
* app/commands.c
* app/convert.c
* app/gimpbrush.h
* app/gimpbrushpipe.h
* app/gimpgradient.c
* app/gimppattern.h
* app/gimppreview.c
* app/gradients.c
* app/module_db.c
* app/palette.[ch]
* app/paletteP.h
* app/palette_import.c
* app/palette_select.[ch]
* app/patterns.c
* app/plug_in.c
* app/pdb/convert_cmds.c
* app/pdb/palette_cmds.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/palette.pdb: lotsa stuff: changed due to the above
API changes, #define the file extensions in the GimpData subclasses'
header files instead of hardcoding them in several places, ...
* data/palettes/*: The same file format change as for the gradient
files:
- Save the palette name in a parsable form (as part of the file
format, not in a comment.
- Removed unserscores from the palette names.
- Added an extension (Gimp PaLettes are ".gpl" files now ;-)
2001-02-11 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimpdata.[ch]: new abstract base class for everything
(except images) which has a filename and can become dirty and must
be saved.
* app/gimpbrush.[ch]
* app/gimpgradient.[ch]
* app/gimppattern.[ch]: all derived from GimpData now.
* app/gimpbrushgenerated.[ch]
* app/brush_select.c
* app/brushes.c
* app/gimpbrushpipe.c
* app/gradient_editor.c
* app/gradients.c
* app/patterns.c: removed lots of code duplication due to common
file save magic.
The gradient file format has changed: it now contains the
gradient's name (no more ugly underscores). The files have the
extension ".ggr".
* app/gimpgradient.[ch]: save new gradients, load new and old
gradients.
* data/gradients/*: removed all old gradients and added the new
ones.
MMX paint_funcs
Should autodetect whether the assembler handles MMX and whether the C
compiler allows gcc-like __attribute function specifications.
Should detect MMX at run-time.
2001-02-10 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gradientP.h
* app/gradient_header.h: removed.
* app/gimpgradient.[ch]: new object -- bye bye "gradient_t"
* app/gradients.[ch]: new files for managing the gradient list.
* app/gradient.[ch]: containes only the gradient editor now (which
still badly poked aroung in the GimpGradient structure).
* app/app_procs.c
* app/apptypes.h
* app/devices.c
* app/gimpcontainerlistview.c
* app/gimpcontext.[ch]
* app/gimpcontextpreview.[ch]
* app/gimpdnd.[ch]
* app/gradient_select.[ch]
* app/indicator_area.c
* app/palette_import.c
* app/pdb/gradient_select_cmds.c
* app/pdb/gradients_cmds.c
* app/tools/airbrush.c
* app/tools/blend.c
* app/tools/paint_core.c
* app/tools/paintbrush.c
* app/tools/pencil.c
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb: changed accordingly, some
changes to the preview and view stuff.
* app/gimppreview.[ch]: removed the "context" attribute again
because it was overkill (a simple gtk_signal-connect_object does
the same as doing the autoconnection magic inside the GimpPreview
object).
* app/commands.[ch]
* app/menus.c: example views on the gradient container.
2001-02-07 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimpimagepreview.[ch]: new object with own implementations
of "create_preview" and "create_popup".
* app/gimpdrawablepreview.c: stuff... still unused.
* app/gimppreview.c: fixed idle rendering crashes, don't
forget popups on GDK_2BUTTON_PRESS.
* app/app_procs.c: gimpbrushlist.h doesn't exist any more.
* app/gimpobject.h: removed the GimpObject typedef because it
is in apptypes.h
* app/Makefile.am
* app/gimpdrawable-preview.[ch]: new files formerly known as
gimpdrawablepreview.[ch].
This is a new naming scheme for methods of objects which live
outside their object's file. The old name implied a derived object
(and is in fact now taken by a GimpPreview subclass, see below).
Further candidates for renaming are e.g. gimpdrawable-invert.[ch],
gimpimage-convert.[ch] etc. Finaly, the main objects (image,
drawable) will go to their own directories together with their
subclasses.
* app/apptypes.h: added typedefs for the new objects:
* app/gimpbrushpreview.[ch]
* app/gimppatternpreview.[ch]: new subclasses of GimpPreview.
* app/gimpdrawablepreview.[ch]: contains a subclass of GimpPreview
now.
* app/gimpviewable.[ch]: renamed the virtual functions to
"get_preview" and "get_new_preview" to avoid confusion with the
new GimpPreview subclasses.
* app/gimppreview.[ch]: virtualized "create_preview" and
"create_popup".
* app/gimpmarshal.[ch]: new marsaller for GimpPreview.
* app/channels_dialog.c
* app/fileops.c
* app/gimpbrush.c
* app/gimpdnd.c
* app/gimpdrawable.c
* app/gimpimage.c
* app/gimppattern.c
* app/layer_select.c
* app/layers_dialog.c
* app/lc_dialog.c
* app/nav_window.c
* app/palette_import.c
* app/undo_history.c
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb: changed accordingly.
2001-02-06 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimpconstrainedhwrapbox.[ch]: A bad hack on top of another
hack: The GtkHWrapBox "size_request" method _always_ wants a
maximal requisition height, which it of course gets from a
container like the scrolled window, yielding in wrong vscrollbar
calculation.
* app/gimpbrush.c: create a nice preview with scale and pipe
indicators.
* app/gimpcontainergridview.[ch]: use the GimpConstrainderHWrapBox.
* app/commands.c
* app/gimpcontainerlistview.c
* app/gimppreview.c: cleanup, fixed a crash in the preview idle
rendering function.
2001-02-05 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimpcontainergridview.[ch]: new widget providing a grid view
in the style of the current brush and pattern selections.
* app/gimpcontainerlistview.[ch]
* app/gimppreview.[ch]: the constructors take "width" and "height"
parameters now.
* app/gimpviewable.c: if the viewable is not able to generate
a static (cached) preview, create a new one and cache it ourselves.
* app/gimppattern.c: produce a nice preview.
* app/temp_buf.[ch]: changed temp_buf_copy_area() to take a
destination offset instead of a border parameter. This function
was not used at all before.
* app/commands.[ch]
* app/menus.c: test dialogs for the grid view.
2001-02-05 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h: some new files and data types:
* app/gimppreview.[ch]: new widgets which provides a view
of a GimpViewable.
* app/gimpcontainerview.[ch]: new abstract widget base class for
views of GimpContainers of GimpViewables
* app/gimpcontainerlistview.[ch]: (still) simple implementation of
a list view of the container.
* app/gimpbrush.[ch]
* app/gimppattern.[ch]: provide dumb implementations of the
GimpViewable's "preview" method.
* app/image_render.c: quick bad hack to enable preview sizes which
are != "preview_size": Always allocate data chunks for previews up
to 256 pixels width.
* app/drawable.c: emit the "incalidate_preview" signal from
drawable_update(). This may cause useless updates at the moment
but as we want to move from explicit updates to signal-driven
model-view stuff it's the right thing (TM).
* app/commands.[ch]
* app/interface.c
* app/menus.c: Added a "Test dialogs" menu to the Toolbox.
* app/pdb/image_cmds.c
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: propagated the new alpha channel stuff
to the autogenerated files.
2001-02-04 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimpviewable.[ch]: new object. Everything that can have a
preview will be a GimpViewable. The virtual functions are
"invalidate_preview", "preview" and "preview_new".
* app/gimpmarshal.[ch]: new marshaller needed for the viewable.
* app/gimpdrawable.[ch]
* app/gimpimage.[ch]: derived from GimpViewable. Removed the
preview stuff from the public interface.
Made a single boolean out of GimpImage's "comp_preview_valid"
array because we have only one copposite preview.
* app/gimplayer.c: made the preview stuff private.
* app/gimppreviewcache.[ch]: removed gimp_preview_scale()...
* app/temp_buf.[ch]: ...and added it as temp_buf_scale() here.
* app/gimpdrawablepreview.[ch]: is a private method of
GimpDrawable now.
* app/channels_dialog.c
* app/convert.c
* app/drawable.c
* app/fileops.c
* app/floating_sel.c
* app/gimage.c
* app/gimage_mask.c
* app/gimpchannel.c
* app/gimpcontainer.c
* app/gimpdnd.c
* app/layer_select.c
* app/layers_dialog.c
* app/lc_dialog.c
* app/nav_window.c
* app/palette_import.c
* app/undo.c
* app/undo_history.c
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* app/tools/crop.c
* app/tools/edit_selection.c
* app/tools/ink.c
* app/tools/paint_core.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb
* po/POTFILES.in: changed accordingly.
2001-02-03 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimpcontainer.[ch]: new (yet unused and untested) object
which will replace GimpSet, GimpList and GimpBrushList and be the
container and signal proxy for all collections of GimpObjects.
2001-01-29 Michael Natterer <mitch@gimp.org>
* app/dialog_types.h: removed because it was unused.
* app/Makefile.am: removed dialog_types.h, reordered the file list
to group together what may go to "pixmaps", "widgets" and
"lowlevel" (???) directories.
2001-01-29 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimpdrawablepreview.[ch]: new file with one set of functions...
* app/channel.[ch]
* app/layer.[ch]: ...instead of having everything duplicated three
times here.
* app/channels_dialog.c
* app/floating_sel.c
* app/floating_sel.h
* app/gimpdnd.c
* app/gimpimage.c
* app/layer_select.c
* app/layers_dialog.c
* app/selection.c
* app/pdb/drawable_cmds.c
* tools/pdbgen/pdb/drawable.pdb: changed accordingly, cleanup.
2001-01-28 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimplayermask.[ch]: new files cut out of layer.[ch]. Renamed
all functions to gimp_layes_mask_*(). removed artefacts like
the ref/unref functions.
* app/apptypes.h: removed the "LayerMask" typedef.
* app/layer.[ch]: removed the layer mask stuff and renamed all
functions to gimp_layer_*(). Added temporary typedefs for the old
function names. The layer mask preview stuff is still there (should
probably go to new layer_preview.{ch] files).
* app/gimpimage.[ch]: added
gimp_image_invalidate_[layer|channel]_previews() formerly known as
[layer|channel]_invalidate_previews().
* app/channel.[ch]: moved channel_layer_alpha() and
channel_layer_mask() here because they are methods of the Channel.
* app/channel_ops.c
* app/convert.c
* app/disp_callbacks.c
* app/fileops.c
* app/floating_sel.c
* app/gimage.c
* app/gimage_mask.c
* app/gimpdnd.c
* app/global_edit.c
* app/layers_dialog.c
* app/preferences_dialog.c
* app/toolbox.c
* app/undo.c
* app/xcf.c
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c
* app/tools/crop.c
* app/tools/text_tool.c
* app/tools/transform_core.c
* tools/pdbgen/pdb.pl
* tools/pdbgen/pdb/drawable.pdb: changed accordingly, cleanup.
2001-01-24 Michael Natterer <mitch@gimp.org>
* Makefile.am
* configure.in
* gimptool.in: added the new library below.
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpchainbutton.[ch]
* libgimpwidgets/gimpcolorarea.[ch]
* libgimpwidgets/gimpcolorbutton.[ch]
* libgimpwidgets/gimpdialog.[ch]
* libgimpwidgets/gimpfileselection.[ch]
* libgimpwidgets/gimphelpui.[ch]
* libgimpwidgets/gimppatheditor.[ch]
* libgimpwidgets/gimppixmap.[ch]
* libgimpwidgets/gimpquerybox.[ch]
* libgimpwidgets/gimpsizeentry.[ch]
* libgimpwidgets/gimpunitmenu.[ch]
* libgimpwidgets/gimpwidgets.[ch]
* libgimpwidgets/gimpwidgets.def
* libgimpwidgets/gimpwidgetstypes.h: new shared library.
Currently there are some ugly dependencies into libgimp. These
will be removed and go to a "libgimpglue" library which will be
a library for functions which share a common interface between
plug-ins and the app but have different implementations.
Include "libgimp/gimpunit.h" from "libgimpwidgets/gimpwidgetstypes.h"
to simulate this upcoming separation.
* libgimp/Makefile.am
* libgimp/gimpchainbutton.[ch]
* libgimp/gimpcolorarea.[ch]
* libgimp/gimpcolorbutton.[ch]
* libgimp/gimpdialog.[ch]
* libgimp/gimpfileselection.[ch]
* libgimp/gimphelpui.[ch]
* libgimp/gimppatheditor.[ch]
* libgimp/gimppixmap.[ch]
* libgimp/gimpquerybox.[ch]
* libgimp/gimpsizeentry.[ch]
* libgimp/gimpunitmenu.[ch]
* libgimp/gimpwidgets.[ch]: removed from here.
* libgimp/gimpui.h
* libgimp/gimpuitypes.h
* libgimp/makefile.mingw.in
* libgimp/makefile.msc: changed accordingly.
* app/[all ui files]
* app/pdb/palette_cmds.c
* app/pdb/tools_cmds.c
* tools/pdbgen/pdb/palette.pdb
* tools/pdbgen/pdb/tools.pdb: #include "libgimpwidgets/gimpwidgets.h"
and removed useless includes.
* app/apptypes.h: #include "libgimpwidgets/gimpwidgetstypes.h"
* app/Makefile.am
* plug-ins/[all makefiles which link against libgimpui]:
link against libgimpwidgets.la
* po-libgimp/POTFILES.in: changed file locations.
2001-01-23 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/libgimp_glue.[ch]: new files containing stuff needed for
linking libgimp stuff against the app. This file is not needed
at all for the app itself and should never be included.
* app/gimpcontext.[ch]: removed from here.
* libgimp/Makefile.am
* libgimp/gimp.h
* libgimp/gimppalette.[ch]: new files for the PDB wrapping
gimp_palette_*_rgb() stuff.
* libgimp/gimpcolor.[ch]: removed the PDB dependency from here.
2001-01-22 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/toolbox.[ch]: new files containing most of the code
from app/interface.[ch]
* app/interface.[ch]: only contains create_display_shell() now.
Needs to be somehow merged with other arbitrarily named display
files around.
* app/app_procs.c
* app/menus.c
* po/POTFILES.in: changed accordingly.
* app/asupsample.c
* app/gradient.c
* app/tile.c: cleanup.
2001-01-21 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/palette_import.[ch]: moved the palette_import dialog to
it's own file.
* app/gimage.c
* app/palette.[ch]
* app/paletteP.h: changed accordingly.
2001-01-21 Michael Natterer <mitch@gimp.org>
* app/palette_entries.h: removed.
* app/gimppalette.[ch]: new object derived from GimpObject. Just
used as a container at the moment (no signals or stuff used).
* app/palette.[ch]: changed almost every line except in the
import_dialog part.
* app/Makefile.am
* app/apptypes.h
* app/convert.[ch]
* app/gimpdnd.h
* app/paletteP.h
* app/palette_select.[ch]
* app/convert_cmds.c
* tools/pdbgen/pdb/convert.pdb: changed accordingly.
* app/gimpdrawable.c: set klass->removed to NULL.
2001-01-19 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/appenums.h
* app/apptypes.h: moved all enums from apptypes.h to the new file
appenums.h
* tools/pdbgen/Makefile.am
* tools/pdbgen/app.pl
* tools/pdbgen/enums.pl: changed accordingly. Removed some files
from the list of files to scan for enums.
* TODO.xml: added two minor UI issues.
2001-01-03 Daniel Egger <egger@suse.de>
* configure.in: Extended the glibc regexp check and enabled
substitution for Makefiles.
* app/Makefile.am: Compile regexp only if not in glibc.
* app/plug_in_cmds.c:
* app/procedural_db_cmds.c:
* app/regexrepl.c: Include the correct local headerfile
if no new glibc with regexp is available.
* app/regex.c:
* app/regex.h: Moved into regexprepl.[ch] to avoid nameclashes.
2000-12-29 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/channel_pvt.h
* app/drawable_pvt.h
* app/gdisplayF.h
* app/gimpdrawableP.h
* app/gimpimageP.h
* app/layer_pvt.h
* app/toolsF.h: removed these files.
* app/apptypes.h
* tools/pdbgen/enums.pl: added tons of opaque typedefs and enums.
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/display.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/help.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/patterns.pdb
* tools/pdbgen/pdb/selection.pdb
* tools/pdbgen/pdb/tools.pdb
* app/*: chainsaw #include cleanup:
- Never (never!!) include stuff in header files except where we
need access to structures' contents (like derived objects).
- Added prototypes and proper formating in many files.
- The #include order in *all* *.c files is as follows:
#include "config.h"
#include <system stuff>
#include <gtk/gtk.h>
#include "apptypes.h"
#include "gimp stuff"
#include "libgimp stuff"
#include "libgimp/gimpintl.h"
By following this scheme we can easily see a file's dependencies
from it's #include's and can grep for the inclusion to find out
where a file is used.
* tools/pdbgen/app.pl: changed to follow the include scheme above.
* libgimp/Makefile.am
* libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h
and from app/apptypes.h.
* libgimp/gimpcolorbutton.[ch]
* libgimp/gimpdialog.[ch]
* libgimp/gimphelpui.[ch]
* libgimp/gimpparasite.[ch]
* libgimp/gimppatheditor.[ch]
* libgimp/gimpprotocol.c
* libgimp/gimpquerybox.[ch]
* libgimp/gimpsizeentry.[ch]
* libgimp/gimptypes.h
* libgimp/gimpui.h
* libgimp/gimpunit.h
* libgimp/gimpunitmenu.[ch]
* libgimp/gimpwidgets.[ch]: changed accordingly.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/gdyntext/message_window.c
* plug-ins/imagemap/imap_default_dialog.c
* plug-ins/imagemap/imap_file.c: these files used to include
"libgimp/gimpui.h" without including "libgimp/gimp.h". This is
no longer possible because the libgimpui headers don't inlcude
"libgimp/gimpunit.h" any more.
2000-12-19 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimphistogramP.h: removed.
* app/gimphistogram.[ch]
* app/histogramwidget.[ch]: Histogram cleanup: replaced the
channel #define's by a properly named enum and use this enum
type as parameter in functions instead of "int".
* app/curves.c
* app/histogram_tool.c
* app/levels.c: changed accordingly.
2000-12-18 Sven Neumann <sven@gimp.org>
Jens Lautenbacher <jtl@gimp.org>
* app/Makefile.am
* app/gimpbrushlistP.h
* app/gimpbrushpipeP.h
* app/gimpobjectP.h: removed these three files
* app/parasitelistP.h
* app/channels_dialog.c
* app/docindex.c
* app/gimpdrawable.c
* app/gimpdrawableP.h
* app/gimpimage.c
* app/gimpimageP.h
* app/gimplist.[ch]
* app/gimpobject.c
* app/gimpobject.h
* app/gimpsetP.h: changed according to header removal
* app/airbrush.c
* app/brush_select.[ch]
* app/brushes_cmds.c
* app/gimpbrush.[ch]
* app/gimpbrushgenerated.[ch]
* app/gimpbrushlist.[ch]
* app/gimpbrushpipe.[ch]
* app/gimpcontextpreview.c
* app/paint_core.c
* app/paintbrush.c
* app/pencil.c
* tools/pdbgen/pdb/brushes.pdb: Big Brushes Cleanup.
The GimpBrush* object hierarchy and the file formats were broken by
"design". This made it overly difficult to read and write pixmap
brushes and brush pipes, leading to the situation that The GIMP was
not able to read it's very own file formats. Since the GimpBrush
format did support arbitrary color depths, the introduction of a
file format for pixmap brushes was unnecessary.
The GimpBrushPixmap object is dead. GimpBrush has an additional
pixmap temp_buf and handles pixmap brushes transparently. The file
format of pixmap brushes is not any longer a grayscale brush plus
a pattern, but a simple brush with RGBA data. The old brushes can
still be loaded, but the .gpb format is deprecated.
GimpBrushPipe derives from GimpBrush. The fileformat is still a text
header, followed by a number of brushes, but those brushes are stored
in the new GimpBrush format (no pattern anymore). The pipe does not
care about the depth of the contained GimpBrushes, so we get
grayscale BrushPipes for free. Since the brush loader still loads the
old format, old .gih files can also still be loaded.
Since the brushes in the GimpBrushPipe do not any longer contain a
pointer to the pipe object, we do only temporarily switch brushes
in the paint_core routines. This is not very elegant, but the best
we can do without a major redesign.
* app/patterns.[ch]: changed the loader to work with a filedescriptor
instead of a filehandle to make it work with the new brush loading
code.
* plug-ins/common/.cvsignore
* plug-ins/common/Makefile.am
* plug-ins/common/plugin-defs.pl
* plug-ins/common/gih.c: new plug-in that saves GIH files in the
new format (loader will follow soon)
* plug-ins/common/gpb.c: removed since Pixmap Brushes are no longer
supported as a special file format.
* plug-ins/common/gbr.c: load and save brushes in the new brush format
which allows RGBA brushes too.
* plug-ins/common/pat.c: load and save grayscale patterns too
2000-09-25 Sven Neumann <sven@gimp.org>
* app/resolution_calibrate.[ch]: new files. Code for the resolution
calibration dialog that used to live in user_install.c
* app/Makefile.in
* app/menus.c
* app/preferences_dialog.[ch]
* app/user_install.[ch]: added a Calibrate button to the Preferences
2000-08-24 Tor Lillqvist <tml@iki.fi>
* README.win32: Update, tell people the MSVC makefiles are not
up-to-date.
* */makefile.msc: Add warning about being outdated.
* */makefile.cygwin: Remove.
* */makefile.mingw.in: New files replacing the makefile.cygwin files.
* */Makefile.am: Change correspondingly.
* configure.in: Generate corresponding makefile.mingw files.
* app/about_dialog.c: Include <gdk/gdkconfig.h> for
GDK_USE_UTF8_MBS. Add UTF-8 version of a string.
* libgimp/gimp.c: Remove horrible Win32 hack, not needed any longer.
* plug-ins/common/jpeg.c: Use g_message, not g_warning.
* plug-ins/common/winclipboard.c
* plug-ins/common/winprint.c: Remove COMPAT_CRUFT.
* plug-ins/Lighting/lighing_apply.c: Fix for non-interactive mode
bug, supplied by Piet van Oostrum.
* tips/makefile.mingw: New file.
* tips/Makefile.am: Add it.
2000-07-30 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* libgimp/Makefile.am: set G_LOG_DOMAINs for the app and for
libgimp so we can distinguish their warnings from plug-in ones.
* libgimp/gimp.c: set the stack_trace_mode before installing
signal handlers.
2000-06-01 Michael Natterer <mitch@gimp.org>
Sven Neumann <sven@gimp.org>
Completed the new file structure. Yet only few of the _pdb.[ch]
files are based upon generated code and nothing is really
autogenerated...
* app/Makefile.am
* app/gdisplay_cmds.c -> app/display_cmds.c
* app/gimage_cmds.c -> app/image_cmds.c
* app/gimage_mask_cmds.c -> app/selection_cmds.c
* app/internal_procs.c: related change
* libgimp/Makefile.am
* libgimp/gimp.h
* libgimp/gimp_pdb.h
* libgimp/gimpdisplay_pdb.[ch]
* libgimp/gimpimage_pdb.[ch]
* libgimp/gimpselection_pdb.[ch]: replaced with code based on files
generated using pdbgen
* libgimp/gimpchannelops_pdb.[ch]
* libgimp/gimpcolor_pdb.[ch]
* libgimp/gimpedit_pdb.[ch]
* libgimp/gimpfloatingsel_pdb.[ch]
* libgimp/gimpgimprc_pdb.[ch]
* libgimp/gimptexttool_pdb.[ch]
* libgimp/gimptools_pdb.[ch]
* libgimp/gimpundo_pdb.[ch]: new files based on generated code
* libgimp/gimpgradientselect.[ch]
* libgimp/gimpimage.[ch]
* libgimp/gimpselection.[ch]: new files wrapping around the
autogenerated PDB wrappers as found in *_pdb.[ch]. This is necessary
since the number of parameters or their order is different from the
PDP calls.
* plug-ins/common/CEL.c: plugged memleak
* plug-ins/common/aa.c: removed compiler warning
* tools/pdbgen/Makefile.am
* tools/pdbgen/groups.pl
* tools/pdbgen/pdb/gdisplay.pdb -> display.pdb
* tools/pdbgen/pdb/gimage.pdb -> image.pdb
* tools/pdbgen/pdb/gimage_mask.pdb -> selection.pdb
* tools/pdbgen/pdb/channel_ops.pdb
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/floating_sel.pdb
* tools/pdbgen/pdb/gimprc.pdb
* tools/pdbgen/pdb/text_tool.pdb
* tools/pdbgen/pdb/tools.pdb
* tools/pdbgen/pdb/undo.pdb: made them create libgimp code
2000-05-29 Sven Neumann <sven@gimp.org>
* app/Makefile.am
* app/paint_core.c
* app/paint_core_kernels.h: moved brush subsampling kernels
into its own header file and generated a slightly different
kernel (using the new kernelgen tool, see below). The new
kernel simulates a circular brush instead of a rectangular
one and gives slightly different (lighter) results.
* app/gimage_mask.c: when stroking a selection, offset the
points by 0.5 to align the brushes with the pixel grid. This
lets you create 1-pixel wide rectangles and ellipses.
* tools/Makefile.am
* tools/kernelgen.c: simple hack to generate subsampling
kernels.
2000-05-06 Michael Natterer <mitch@gimp.org>
* po/POTFILES.in
* app/Makefile.am
* app/docindexif.[ch]: removed because it was not doing core/ui
separation at all. UI functions were randomly scattered across
both files.
* app/app_procs.c
* app/docindex.[ch]: swallow all functions from docindex.c,
removed functions which were called just once, replaced the
tree by a list. Actually raise displays of already open images.
When opening a file which is already in the list, move it's entry
to the top; this way the toolbox' last_opened list finally works
as expected.
* app/Makefile.am: forgot to exclude airbrush_blob.[ch] from the build
* app/gimpbrushgenerated.c
* app/ink.c
* app/measure.c
* app/rotate_tool.c: use gimp_rad_to_deg and gimp_deg_to_rad macros
--Sven
paths.c and did a general namespace cleanup:
s/PATHP/Path*/ s/PATHIMAGELISTP/PathList/ and friends.
Paths are now copied on image duplicate (fixes bug #5726).
Removed Path Tool and XInput Airbrush from the build and
renamed "Layers & Channels" to "Layers, Channels & Paths".
Applied patch from Wolfgang Hofer to xjt.c that enables loading
and saving of paths based on Andy's change explained below.
--Sven
2000-02-14 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/vector2d.[ch]: removed.
* app/gimpbrush.h
* app/paint_core.c: use the vectors from libgimp.
2000-02-13 Michael Natterer <mitch@gimp.org>
* po/POTFILES.in
* app/Makefile.am
* app/buildmenu.[ch]: removed.
* app/blend.c
* app/brush_select.c
* app/curves.c
* app/histogram_tool.c
* app/layers_dialog.c
* app/lc_dialog.c
* app/levels.c
* app/paint_options.h
* app/paintbrush.c
* app/tool_options.c: use the libgimp option menu
constructor. Removed paint_mode_menu_set_history().
* app/colormap_dialog.i.c
* app/colormap_dialog.p.h: use a popup menu as in the palette
dialog instead of a pulldown menu.
* app/channels_dialog.c: made color dnd to a channel widget work
again.
* libgimp/gimpwidgets.[ch]: new function
gimp_option_menu_set_history() which sets the history according to
user_data as passed to gimp_option_menu_new().
* acconfig.h
* configure.in
* libgimp/Makefile.am
* libgimp/gimpregex.h
* libgimp/regex.c
* app/Makefile.am
* app/regex.[ch]
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/regex.[ch]
* plug-ins/script-fu/interp_regex.c
* tools/pdbgen/pdb/plug_in.pdb
* tools/pdbgen/pdb/procedural_db.pdb: reverted previous regex move
patch. This does *not* belong in libgimp and is just bloat. We'll
use the regex functionality in glib once it has it.
* acinclude.m4
* config.guess
* config.sub
* ltconfig
* ltmain.sh: upgrade to libtool 1.3.4
* app/convert.c
* app/gimpbrushpipe.c: minor cleanups
-Yosh
1999-09-27 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimphelp.[ch]
* app/gimpui.[ch]: new files
* app/interface.[ch]
* app/preferences_dialog.[ch]
The GIMP Help System part 1: Press "F1" in any dialog to pop up
the help page for this dialog.
Moved the widget constructors from preferences_dialog.[ch] and the
query boxes from interface.[ch] to gimpui.[ch].
The dialog constructors take a help_func and a help_data
parameter and install the "F1" accelerator which emits the new
"help" signal.
The "help" signal callback calls help_func(help_data) which finally
has to call gimp_help() which in turn invokes the help browser.
Still have to find a proper way to (1) prevent "F1" being assigned
to some menu item and (2) to catch "F1" while browsing the menu
trees in order to pop up the help for the selected item.
* app/menus.c: a <Toolbox>/File/Help... menu item.
* app/commands.[ch]: a command callback for the "Help..." menu item.
* app/gimprc.[ch]: new boolean gimprc variable "use_help".
* app/info_dialog.[ch]: pass a help function and data to the info
dialog constructor.
* app/tools.[ch]: store the tools help page names in the tool info
structure. Export a special tools_help_func() which shows the help
page for the active tool.
* app/[all files calling a dialog constructor]: pass the dialog's
help page to the constructor.
Most dialogs are now created by gimp_dialog_new() which also sets
up the action_area and the WM delete event callback, so I removed
the resp. code from these files.
Fixed some minor bugs and did some other stuff but didn't change
any logic except dialog creation.
* plug-ins/helpbrowser/helpbrowser.c: don't try to call a running
help browser and don't install any menu path (all done in
app/gimphelp.[ch] now).
Mon Sep 20 12:51:30 EDT 1999 Austin Donnelly <austin@gimp.org>
Honest, guv, it's not a feature - it's a tightly integrated
package of undo system cleanups and fixes.
NEW FILES:
* app/undo_history.c: window showing recent undo (and redo) steps
available.
* app/undo_types.h: broken out of undo.h to fix circular includes.
MODIFIED FILES:
* app/Makefile.am: compile undo_history.c
* app/channel.h: use enum for channel undo type, not just magic
numbers.
* app/layer.h: same for layer undos.
* app/commands.c: edit_show_undo_history_cmd_callback() function to
pull up undo history window.
* app/commands.h: prototype for above.
* app/gdisplay.c: make undo / redo menu items sensitive according
to whether they would do anything. Would be easy to change
the text to say what would be undone/redone, but I don't know
the GTK.
* app/gimpimage.c: new signal emitted by gimage:
UNDO_EVENT. gimp_image_undo_event() function to emit it.
* app/gimpimage.h: prototype for above.
* app/gimpimageP.h: pushing_undo_group member is now an undo_type,
not an int. Keep undo history widget here too (if created).
* app/menus.c: add "Edit/Undo history..." to image menu.
* app/undo.c: new types: enums undo_type and undo_state rather than
ints and magic numbers. All undo_pop_* and undo_free_*
functions made static. New static function
undo_type_to_name(). Issue undo event signals on various
important events (eg undo pushed, undo popped etc).
undo_push() now takes a "dirties_image" arg to say whether
image should be dirtied. Layer moves now dirty the image. A
couple of g_return_if_fails () on undo_pop and undo_redo to
assert we're not in the middle of an undo group.
undo_get_{undo,redo}_name() to peek at names of top items on
undo and redo stacks resp. undo_map_over_{undo,redo}_stack()
to run a function for each item or group on stack. Layer and
channel undos use symbolic names rather than 0 or 1. Array
mapping undo types to names.
* app/undo.h: split out undo types to undo_types.h. Prototypes
for functions described above. undo_event_t enum.
undo_history_new() prototype lives here too.
Random other fixes:
* app/gimpdrawable.c
* app/image_render.c: default labels in switches to keep egcs happy.
* app/nav_window.c: some fixes to (sort of) cope with image res !=
screen res. Still needs work to handle non-square pixels
properly.
* app/paths_dialog.c: bad idea to call gimp_image_dirty()
directly. Even though it's currently commented out.
* app/gtkvwrapbox.[ch]: new vwrapbox stuff
* app/Makefile.am: added new files
* app/interface.c: place the indicator areas in a vwrapbox. Still
kinda screwy tho.
-Yosh
* libgimp/Makefile.am: add gimpmath.h
* app/gtkwrapbox.[ch]
* app/gtkhwrapbox.[ch]: wrapbox widget from gle
* app/Makefile.am: added those files
* app/interface.c: use an hwrapbox for the toolbar. Still not perfect
yet, working on it.
* app/gimpdrawable.c
* app/about_dialog.c
* app/airbrush.c
* app/blend.c: some minor code cleanup
-Yosh
* app/apptypes.h
* app/pathsP.h: removed trailing enum commas
* app/gdisplay_color.[ch]: added a foreach function to iterate
over the display filter names
* app/gdisplay_color_ui.[ch]: display filter ui stuff (doesn't do
much yet ;)
* app/commands.[ch]
* app/menus.c: hooked the above into the menu system
* app/Makefile.am: added new files
* plug-ins/gimpressionist/preview.c: removed bogus // comment
-Yosh
Wed Aug 25 02:40:39 CDT 1999 Shawn T. Amundson <amundson@gimp.org>
* app/image_new.[ch]: Added new files, the UI independant part of
new image dialog.
* app/file_new_dialog.[ch]: uses image_new stuff now. Alot
changed. No UI changed. Different behavior is a bug, as
this is only for UI separation.
* app/gimpimage.[ch]: Added gimp_image_get_width () and
gimp_image_get_height ().
* app/global_edit.c: Call a function in image_new instead of
file_new_dialog for updating the status of the cut buffe.
brush tool any longer. The paintbrush, airbrush and pencil
tools, which already knew how to handle the single-pixmap
brushes now also handle the pipes as well.
* app/pixmapbrush.{h,c}
* app/gimpbrushpixmap.{h,c}: Removed these files.
* app/Makefile.am
* app/makefile.{cygwin,msc}: Remove from here, too.
* app/gimpbrushpipe.{h,c}: Total overhaul.
* app/paint_core.h
* app/apptypes.h: Some more types moved to apptypes.h
* app/context_manager.c
* app/tool_options.c
* app/tools.c
* app/toolsF.h: Remove PIXMAPBRUSH tool.
* app/gimpbrush.h: New method: select_brush. Used to change the
brush in paint_core, for pipe brushes.
* app/gimpbrush.c: Add gimp_brush_select_brush, which is dummy for
the normal brushes (returns the same brush).
* app/paint_core.c: Call the brush's select_brush method to get a
potential new brush before calling the paint_func.
* app/gimpbrushlist.c: Various changes related to the pixmap and
pipe overhaul.
* app/airbrush.c
* app/pencil.c: Reorder code a bit in the tool motion function to
avoid executing unnecessary code in the case of a pixmap brush.
Other changes in the same commit:
* app/install.c: Make quote_spaces extern.
* app/appenv.h: Declare it.
* libgimp/gimpui.def: Add missing entry points.
* libgimp/makefile.{cygwin,msc}: Add missing objects to gimpui.
Mon Aug 23 00:56:59 EDT 1999 Adrian Likins <alikins@redhat.com>
* app/gimpbrushhose.c
* app/gimpbrushhose.h:
removed.
* app/gimpbrushpipe.c
* app/gimpbrushpipe.h:
New files to replace the above
* app/gimpbrushlist.c
* app/paintbrush.c
* app/pixmapbrush.c
* app/Makefile.am:
s/hose/pipe. Seems someone else uses that name,
so change it to pipe.
* app/gimpbrush.c
* app/gimpbrush.h
* app/gimpbrushpixmap.c
* app/patterns.c
* app/patterns.h
* app/pixmapbrush.c:
Added functions to do the actual loading of
brush/pattern data. Use them where approriate instead
of cut&pasting the same code all over the place.
* app/pixmapbrush.c: Fix the bug where masks and brush
data werent aligned. I didnt quite notice that
paint_core_get_paint_area returns an area with a 1 pixel
border larger than the brush. Ooops.
* TODO: just update a few things while I'm at it
(pixmap/pipe stuff in particular)
* configure.in: version number bump
* autogen.sh
* configure.in
* app/Makefile.am: comment out gcg stuff, nobody seems to be using it
* app/colormap_dialog.*: added generated files
-Yosh
1999-08-20 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/Makefile.am
* app/gimpdnd.c: new file. Contains a function which creates dnd
preview icons for all kinds of drawables.
* app/gimpdnd.h: added the new dnd types.
* app/channels_dialog.c: same dnd functions as in the layers
dialog. Fixed channels_dialog_flush(). Code cleanup.
* app/layers_dialog.c: enabled dnd for layer masks.
* app/disp_callbacks.c
* app/interface.c: dnd code generalization. The toolbox and the
display accept drop of any kind of drawable now.
* app/gimage.h
* app/gimpimage.[ch]: new function gimp_image_position_channel().
* app/layer.[ch]: new function layer_mask_get_layer().
1999-08-19 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/Makefile.am
* app/gimpdnd.h: new file containing the dnd data definitions.
* app/disp_callbacks.[ch]
* app/interface.c: drop layers on the toolbox to create a new
image and on the display to copy it to the image's layer stack.
* app/layers_dialog.c: drop layer on the "New" button to create an
empty layer with the dropped layer's properties, to "Duplicate" to
duplicate it and on the trashcan to delete it.
Thanks to Andy for the ultra-cool dnd preview pixmap patch.
* app/layer.[ch]
* app/undo.c: renamed layer_mask() to layer_get_mask(). Prototyped
some function headers.
* app/disp_callbacks.c: Wheelmouse stuff: Shift+wheel scales the
display.
* app/airbrush.c
* app/eraser.c
* app/paint_options.h
* app/paintbrush.c
* app/pencil.c
* app/tool_options.c: moved the "Incremental" toggle to the
PaintOptions structure because it is used more often now.
Thu Aug 12 21:38:53 BST 1999 Andy Thomas <alt@gimp.org>
* app/commands.c
* app/commands.h
* app/disp_callbacks.c
* app/gdisplay.c
* app/gdisplay.h
* app/info_dialog.c
* app/info_dialog.h
* app/info_window.c
* app/info_window.h
* app/menus.c
* app/scale.c
* app/scroll.c
* app/scroll.h
* app/nav_window.c (new)
* app/nav_window.h (new)
* pixmap/dropper.xpm (new)
New "navigator" image (accessed via <Image>/Window Nav..). This gives
an outline of the location of the current view on an image. Eg if your
image window is only showing part of an image then the Window Navigation window will outline the area viewed. You can "drag" the outlined
square around the viewport and the main image will scroll. Additional
a single click outside the square will center the image at that
location.
Also started to add additional information to a new page inside the
Window information dialog (currently only pixel value is shown).
Both these features are currently work in progress and unfinished.
In particular the Navigator does not keep in step with changes
to the basic image (however it does keep in step with image size changes and if you modify the size of the image viewing window). It also
does not display the transparent areas of images very nicely.
Mon Aug 9 01:20:24 1999 Adrian Likins <alikins@redhat.com>
* app/pixmapbrush.c
* app/pixmapbrush.h
* app/gimpbrushpixmap.c
* app/gimpbrushpixmap.h: New files, implement the GimpBrushPixmap
object, and the pixmap brush tool.
* app/context_manager.c
* app/tool_options.c
* app/tools.c
* app/toolsF.h: add the pixmap brush tool in
* app/gimpbrushlist.c: allow for loading of pixmap brushes and
displaying them in the brush dialog. Currently it only shows the
grey scale mask.
*app/Makefile.am: add the pixmap tool stuff to the build process
These Changes implement a pixmap brush tool. Sort of a "image stamp".
Some examples can be seen at http://adrian.gimp.org/pixmap-brush/.
Some examples of pixmap brushes can be found there too (.gpb
extension), but these are easy enough to make (for now, make
a pattern and a brush the same size and `cat foo.gbr foo.pat >
foo.gpb` ;->
Theres still a few rough edges that need some tweaking, but
the framework is there. Figured I'd sneak it in before the
freeze.
* pixmaps/qmasknosel.xpm
* pixmaps/qmasksel.xpm: Ugly pixmaps that tigert promised to replace
* app/channel.[ch]
* app/channel_cmds.c : made some of the private structures accessible
through exported functions to keep things a bit clean
* app/interface.c
* app/gdisplay.[ch]
* app/gimpimageP.h
* app/gimpimage.[ch]
* app/undo.[ch]: added qmasks
* app/Makefile.am
* app/qmask.[ch]: added new files for qmask support
* tools/pdbgen/pdb/channel.pdb: changed some channel stuff to keep
things a bit more private
Wed Jun 23 23:52:54 BST 1999 Andy Thomas <alt@gimp.org>
* gimp/app/gimppreviewcache.c
* gimp/app/gimppreviewcache.h
* gimp/app/drawable_cmds.c
* gimp/app/gdisplay.c
* gimp/app/gimpdrawableP.h
* gimp/app/gimage_cmds.c
* gimp/app/Makefile.am
* gimp/app/layers_dialog.c
* gimp/app/channel.c
* gimp/app/lc_dialog.c
* gimp/app/lc_dialog.h
* gimp/app/lc_dialogP.h
* gimp/app/layer.c
* gimp/app/gimpdrawable.c
* gimp/app/internal_procs.c
* gimp/libgimp/gimp.h
* gimp/libgimp/gimpimage.c
* gimp/libgimp/gimpdrawable.c
* gimp/libgimp/gimpmenu.c
* gimp/tools/pdbgen/pdb/drawable.pdb
* gimp/tools/pdbgen/pdb/gimage.pdb
Added thumbnail image preview functions.
Previews are visible on the L&C&P dialogs as well as in the
drawables/channels/ menus generated for plugins
(see the bumpmap & Mapobject plugins).
PDB interface exists to simply extract a thumbnail preview
of a given size. This is much quicker & more efficient
than getting the image data tile-by-tile if you only need a small
image since a "preview cache" has been implemented. This cache also
reduces the number of times the tiles cached is scanned since smaller
previews are always generated from large ones if they exists and
are valid.
Some possible usages (I don't intend to implement these ideas. Just
suggestions). More plugins using the thumbnail preview (ie any that
use multiple images). Indication of "active image" somewhere.....
Actually almost anywhere a drawable/image name appears.
* app/Makefile.am: cosmetic change
* app/plug_in.c: reordered #includes to prevent MAX/MIN conflict
* app/menus.c: removed the weird translation code in favor of
the item factory translation function. This may have broken some
.po files.. we'll see. Also, added some more tearoffs and made
tearoffs appear automagically when plugins register menu entries.
* libgimp/gimpimage.c
* libgimp/gimpenums.h: redid the GOrientation enum to match the
app. Removed special casing in the handler.
* plug-ins/guillotine/guillotine.c: small clean up
-Yosh
1999-06-18 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/Makefile.am
* app/context_manager.[ch]: new files. Currently only init and
destroy the static contexts (user, standard and default).
* app/app_procs.c: call the context manager's init and free
functions. Still have to figure out the right time to do this.
* app/gimpcontext.[ch]: alpha version 0.0.1 :-)
Features:
- Each context has a name
- Attributes: opacity, paint mode, image, display
- Signal emission on attribute change
- Possibility to set a "parent" context
- Each attribute can be defined or undefined. In the latter case
the values are taken from the parent context.
- Possibility to pass a template and parent context to the
constructor
Bugs:
- Many attributes/functions still missing
- It's connected to nothing
1999-06-17 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/Makefile.am
* app/gimpcontext.[ch]: new files. Does nothing yet. Checked in
because I found some bugs while hacking it:
* libgimp/gimpchainbutton.[ch]
* libgimp/gimpfileselection.[ch]
* libgimp/gimppatheditor.[ch]
* libgimp/gimpsizeentry.[ch]
* libgimp/gimpunitmenu.[ch]: fixed some cut & paste bugs and some
gtk 1.0 artefacts in the object class initialisation code.
1999-06-06 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/Makefile.am
* app/lc_dialog.[ch]
* app/lc_dialogP.h
* app/paths_dialogP.h: new files
* app/channels_dialog.[ch]
* app/layers_dialog.[ch]
* app/layers_dialogP.h
* app/paths_dialog.[ch]
* app/menus.[ch]
* app/file_new_dialog.c: modified
- Moved the toplevel L&C dialog code to lc_dialog.[ch]. Only
these files need knowledge about how to create/update/...
the sub-dialogs, so the corresp. functions are defined in
lc_dialogP.h.
- The popup menus are now created by menus.c. The command
callbacks are defined in [layers|channels|paths]_dialog.h.
- Private functions to be used by "friend files" are defined in
[layers|paths]_dialogP.h.
- Changed the order of the ops_buttons in the paths dialog to
match the order in the layers and channels dialogs.
- The paint mode menu and preview stuff still needs to go out of
layers_dialog.[ch].
- I'm not sure about the keybindings in the layer dialog's "Stack"
submenu because the list widget has it's own idea of PageUp/Down.
- Hopefully fixed the update problem with new images by calling
lc_dialog_flush() after creating a new image.
* app/app_procs.c
* app/bezier_select.c
* app/commands.c
* app/floating_sel.c
* app/gdisplay.c
* app/gimage.c
* app/gimage_mask.c
* app/paint_core.c
* app/preferences_dialog.c
* app/transform_core.c
* app/undo.c: changed #include's according to the new L&C file
structure.
* configure.in: fixed variable clobber for thread & MP options
* app/Makefile.am: added new GIMP_MP_{LIBS,FLAGS} to compile &
link flags
The old configure would set the thread libs and then immediately
clobber them unless you enabled MP support. This meant threads
but no MP would mean a no-compile if your pthread support is in a
separate library (not in libc).
-sg
* configure.in: use the sinclude bit again, since it works in
automake 1.4. Generate the Makefile in the embed dir too
* app/gimp.sym: new file, list the symbols we want export to
modules here
* app/Makefile.am: add -export-symbols to LDFLAGS
* plug-ins/Makefile.am: use make variable expansion instead of
direct substitution for optional plug-in dirs. E.g., now one can
do "make GIMP_PERL=" to skip the perl plug-in dir during build
without rerunning configure
* plug-ins/rcm/Makefile.am: add header files to SOURCES
-Yosh
* Makefile.am: listed tools first in SUBDIRS, so xgettext can grab
the autogenned files
* acconfig.h: removed unused HAVE_XSHM_H
* tools/pdbgen/app.pl: added proc invoke method, nicer header
formatting
* tools/pdbgen/pdb/layer.pdb: use layer_mask type for return value
for layer_create_mask
* tools/pdbgen/pdb/misc.pdb: added quit proc
* tools/pdbgen/pdb/tools.pdb: added ink proc, but not added to @procs
since it's incomplete
* tools/pdbgen/pdb/fileops.pdb: new file
* app/Makefile.am: added fileops_cmds.c
* app/app_procs.c
* app/fileops.c
* app/ink.c: removed PDB procs (the one in ink.c was incomplete)
* app/fileops.h: exported load_procs, save_procs, and file_proc_find()
* app/plug_in.h: exported enum, #include <sys/types.h>
* app/brushes_cmds.c
* app/fileops_cmds.c
* app/layer_cmds.c
* app/misc_cmds.c
* app/parasite_cmds.c
* app/patterns_cmds.c
* app/procedural_db_cmds.c
* app/text_tool_cmds.c
* app/internal_procs.c: pdbgen updates
* app/paint_funcs.c: the glibc 2.1 docs say using SVID threadsafe
random functions are preferable to rand_r, so use them instead of
a mutex
-Yosh
1999-04-22 Michael Natterer <mitschel@cs.tu-berlin.de>
First version of per-tool paint options. No PDB interface yet.
The tool options dialog got rather big when in per-tool mode, so
it will probably have to become a notebook.
It's not yet 100% consistent. If switched off, everything should
behave exactly like before.
* app/Makefile.am
* app/paint_options.h: new file
* app/tool_options.c: PaintOptions gui. Maintain a list of all
paint tools' ToolOptions to enable switching between global and
per-tool paint options.
* app/brush_select.[ch]: changed packing boxes, tables, ...
The paint options in the brush selection can be hidden now.
Moved create_paint_mode_menu() to paint_options.h and
tool_options.c and renamed it to paint_mode_menu_new().
* app/gimage_mask.c
* app/gimpbrush.[ch]
* app/gimpbrushlist.[ch]
* app/paint_core.c: moved gimp_brush_[set|get]_spacing() from
gimpbrushlist.[ch] to gimpbrush.[ch].
Moved gimp_brush_[get|set]_[opacity|paint_mode]() to
paint_options.h and tool_options.c and renamed them to
paint_options_*_*(). They are "global paint options" now.
* app/airbrush.c
* app/blend.c
* app/bucket_fill.c
* app/clone.c
* app/convolve.c
* app/eraser.c
* app/ink.c
* app/paintbrush.c
* app/pencil.c: all paint tools' options are derived from
"PaintOptions" now. Opacity and paint mode are obtained through
macros which take into account the current paint options mode.
* app/buildmenu.h: #include <gtk/gtk.h>
* app/color_picker.c
* app/text_tool.c: changed spacings.
* app/gimprc.[ch]: new gimprc option "global-paint-options"
* app/preferences_dialog.c: Added a "Tool Options" page. Code
cleanup. Some work on the convenience constructors test site.
* app/tools.c: fixed "unused variable" warning.
* libgimp/gimpfeatures.h.in: added GIMP_CHECK_VERSION macro and
a features #define for 1.1.5
* app/misc_cmds.c: added a gimp_version PDB function that
returns the current version (new file)
* app/internal_procs.c: register gimp_version PDB function
-Yosh
1999-04-12 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/airbrush.c
* app/bezier_select.c
* app/blend.c
* app/brightness_contrast.c
* app/bucket_fill.c
* app/by_color_select.c
* app/clone.c
* app/color_balance.c
* app/color_picker.c
* app/convolve.c
* app/crop.c
* app/curves.c
* app/ellipse_select.c
* app/eraser.c
* app/flip_tool.c
* app/free_select.c
* app/fuzzy_select.c
* app/histogram_tool.c
* app/hue_saturation.c
* app/ink.c
* app/iscissors.c
* app/levels.c
* app/magnify.c
* app/move.c
* app/paintbrush.c
* app/pencil.c
* app/posterize.c
* app/rect_select.[ch]
* app/text_tool.c
* app/threshold.c
* app/transform_tool.c
* app/tools.[ch]
* app/toolsF.h: again: all tools :(
* app/Makefile.am
* app/tool_options.[ch]
* app/selection_options.h
* app/tool_options_ui.h: new files.
Ok, this time it's general enough for future extensions:
- The tool options structures are organized like the gtk object
system to allow derived tool options.
- Renamed all create and reset functions to *_options_new() and
*_options_reset() to reflect this.
- Changed tools_register() again. Now it takes just a pointer to a
ToolOptions structure.
- Moved almost the entire tool options gui code to tool_options.c.
- Visually separated the common selection options from the
tool-specific ones. I'd like to do the same with opacity/paint
mode in all paint tool options but I think this needs some more
discussion.
* app/histogram_tool.c: changed packing boxes, label alignments.
* app/paintbrush.c: some more sensitive settings. The gradient
feature can now be toggled with a button. Hopefully didn't break
anything.
* app/text_tool_cmds.c: doh, XLFD stuff is in decipoints
* app/color_cmds.h: removed
* app/color_cmds.c: pdbgened file now
* app/lut_funcs.h: export ChannelLutType enum
* app/internal_procs.c: register pdbgened color procs
* app/menus.c: reverted keyboard underlines since they need more discussion
-Yosh
* app/Makefile.am: build color_cmds, lut_funcs, and pixel_processor
* app/app_procs.c: feedback in the splash screen when loading
parasites.
* app/boundary.c: Optimized find_empty_segs.
* app/brightness_contrast.[ch]
* app/levels.[ch]
* app/posterize.[ch]:
moved pdb and lut calculation code. These files now contain only
GUI functions.
* app/channel.c: Optimized channel_bounds (fewer compares, better
use of registers). Use color_region instead of channel_*_segment
in channel_combine_rect. Optimized channel_combine_ellipse by
skipping pixels inside of the ellipse. Use
pixel_region_process_parallel in channel_combine_mask. Use a
GimpLut in channel_invert, and channel_sharpen.
* app/invert.c
* app/equalize.c: moved the lut functions to lut_funcs.c
* app/gimpdrawable.c, app/gimpdrawableP.h
* app/gimpimage.c, app/gimpimageP.h: removed unused gimpmatrix
variables/includes.
* app/gimplut.[ch]: added new function gimp_lut_process_inline
that operates on a single PixelRegion.
* app/gimpparasite.[ch]: new functions to save/load parasiterc
* app/parasitelist.[ch]: new functions to save/load ParasiteLists
in/from files.
* libgimp/parasite.[ch]: new functions to load/save parasites.
* app/internal_procs.c: get some procs from new location in
color_cmds.h.
* app/pixel_region.[ch]: moved pixel_regions_process_parallel
related functions to a new file.
* app/color_cmds.[ch]: new files for PDB
definitions/implementations of color correction functions.
* app/lut_funcs.[ch]: new files to hold lut creation functions.
* app/pixel_processor.[ch]: new files that contain the
pixel_regions_process_parallel routines. Added some new
capabilities that are currently unused.
1999-03-16 Michael Natterer <mitschel@cs.tu-berlin.de>
This implements the rest of the unit system (unitrc loading and
saving and full PDB interface)
* Makefile.am
* gimp.1
* user_install
* user_install.bat
* unitrc: new file (default unit database) and some documentation
* app/Makefile.am
* app/gimpunit.c
* app/gimpunit_cmds.h
* app/unitrc.h: new files enabling the unit database and PDB
access to the unit system
* app/app_procs.c: parse and save unitrc
* app/gimprc.[ch]: enable unit parsing. New function
init_parse_buffers() to enable unitrc to be loaded before gimprc
* app/gimage_cmds.[ch]: new PDB procedures which set/return an
image's unit
* app/install.c: mention unitrc installation
* app/xcf.c: new xcf property for user defined units. An image's
unit is saved as either an integer ID (built in units) or as
a full unit definition without any ID
* libgimp/Makefile.am: moved gimpunit.o from libgimpi.a to
libgimp.a
* libgimp/gimp.h
* libgimp/gimpimage.c: get/set an image's unit with PDB calls
* libgimp/gimpunit.h: this file is now the header for both
app/gimpunit.c and libgimp/gimpunit.c
* libgimp/gimpunit.c: does the unit calls as PDB calls now
* libgimp/gimpunitmenu.[ch]: enable user unit functionality and a
unit selection dialog
* libgimp/gimpsizeentry.c: disble hilighting on focus_in_event and
minor bugfixes
* plug-ins/tiff/tiff.c: set image unit to "mm" if tiff unit is
"cm", save "cm" if image unit is metric
1999-03-12 Michael Natterer <mitschel@cs.tu-berlin.de>
Moved all pixmaps and bitmaps from app/ and libgimp/ to pixmaps/
* app/tools/*
* libgimp/chain.xpm: removed these files
* pixmaps/*.[xpm|xbm]: new directory containing all pixmaps
* app/Makefile.am
* libgimp/Makefile.am
* Makefile.am: changed list of EXTRA_DIST files accordingly
* app/channels_dialog.c
* app/layers_dialog.c
* app/paths_dialog.c
* app/palette.c
* libgimp/gimpchainbutton.c: adjusted some #include's
* app/devices.c (devices_write_rc): A line had been deleted by
mistake.
* app/frac.c: Removed some CRs.
* app/install.c (install_run): Typo.
* modules/module.def: New file.
* Makefile.am app/Makefile.am libgimp/Makefile.am
modules/Makefile.am: Added Win32 implementation files to
distributed file set.
Fri Mar 5 21:45:39 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>
This is a bit of a biggy. Added paths to layers & channels
dialog. This is not complete yet (it still has some rough edges ;-)
New:-
* paths_dialog.c
* paths_dialog.h
* pathsP.h
These are the core parts of the paths dialog & interaction.
* tools/penadd.xpm
* tools/pendel.xpm
* tools/pennorm.xpm
* tools/penedit.xpm
* tools/penstroke.xpm
New images found in the dialog. Maybe someone with a better
artistic flair could replace these?
Changed:-
* Makefile.am
Added new files for build
* layers_dialog.c
Added new tab for paths.
* bezier_select.h
* bezier_selectP.h
* bezier_select.c
Rearrangement & fixes. Not finished yet.
* iscissors.c
Header file changes. (Need to include more headers).
* gdisplay.c
* gdisplay.h
Hmmm... Added a function that did a mapping from gimage to gdisp.
This is a little bit of a "hack", but it was needed.. really.
* ops_buttons.h
* ops_buttons.c
Enhanced to create more types of button ops. Used in the paths dialog.
* channels_dialog.c
Header file changes?
* xcf.c
Paths stored in new PROP. Yosh.. I did as you and Adam suggested.
* gimpimage.c
* gimpimage.h
* gimpimageP.h
Added paths items to the image structures.
* app/Makefile.am: added gimphistogram*, histogramwidget*,
removed histogram.[ch]
* app/histogram.[ch]: removed. replaced with histogramwidget.[ch].
* app/{gimphistogramP.h, gimphistogram.h, gimphistogram.c}: new
functions that calculate histograms in parallel and perform
calculations on them.
* app/histogramwidget.[ch]: Same as old histogram.[ch], only it is
now a real widget, and it uses GimpHistograms instead of arrays of
values.
* app/curves.c: #include gimphistogram.h instead of histogram.h.
* app/equalize.c: use GimpHistogram and GimpLut.
* app/gimpbrush.c, app/gimpimage.c, app/gimpset.c: use
GTK_RUN_FIRST in calls to gimp_signal_new.
* app/histogram_tool.c, app/levels.c, app/threshold.c: modified to
use the new HistogramWidget.
* app/paint_funcs.c: removed some unused variables.
* app/preferences_dialog.c: only display the num-processor field
if we are configured --with-mp
* plug-ins/gee/gee.c: removed a couple of c++ style comments.
* app/gimplut.[ch]: new source files that implement pixel Look Up
Table functions.
* app/Makefile.am: build gimplut.[ch]
* app/brightness_contrast.c
* app/curves.c
* app/invert.c
* app/levels.c
* app/posterize.c: Use the new lut functions. Use
pixel_region_process_parallel in the PDB versions of these routines.
* libgimp/parasite.h
* libgimp/parasite.c: new functions parasite_name and
parasite_compare.
* app/gimpdrawable.c:
* app/gimpdrawable.h: new function
gimp_drawable_get_color_at(...) returns the RGBA[color index]
value at a specified position in the drawable. Don't set the dirty
bit on the image if a new parasite is the same as the old.
* app/gimpimage.c
* app/gimpimage.h new function
gimp_image_get_color_at(...) returns the RGBA[color index]
value at a specified position in the drawable. Don't set the dirty
bit on the image if a new parasite is the same as the old.
* app/by_color_select.c
* app/color_picker.c: use the new gimp_*_get_color_at
functions instead of messing with the tiles.
* app/layer.c: fixed a minor warning.
* app/commands.c:
don't scale the image if the new size == the old size
* app/channel.c: optimized channel_bounds by only checking the
pixels in a tile if it is not already entirely within the
currently computed bounds.
* app/menus.c: include module browser, plus re-instate the 'swap
colors' and other options that got killed by mistake. Clean
up the odd extra separator too.
* app/color_notebook.c: hide newly created colour selectors so we
know the GIMP one will be the default page.
* app/module_db.[ch]: NEW FILEs: module database / browser.
* app/Makefile.am: add module_db.[ch] stuff
* app/app_procs.c: initialise the module_db
* app/commands.[ch]: callback to create a module browser.
* app/plug_in.c: move module loading out to module_db.c
* libgimp/gimpmodule.h: API change: module_init() should return
additonal info (author, purpose, date, etc.) Also optional
module_unload() function.
* modules/colorsel_gtk.c: add module info, plus an unload function
* modules/Makefile.am: build triangle colour selector module
* modules/colorsel_triangle.c: NEW FILE: colour selector from
Simon Budig <Simon.Budig@unix-ag.org>.
* MAINTAINERS: changed my email address
Sun Jan 11 00:24:21 GMT 1999 Austin Donnelly <austin@greenend.org.uk>
Bit of a large checkin this - it's basically three things:
1 - GimpModules using gmodules to dynamically load and
initialise modules at gimp start of day.
2 - Color selectors now register themselves with a color
notebook.
3 - progress bars have been cleaned up a bit, so now have
progress indictations on all transform tool and gradient
fill operations. Not done bucket fill, but that seems to
be the next candidate.
New directories:
* modules/: new directory for dynamically loadable modules.
New files:
* modules/.cvsignore
* modules/Makefile.am
* modules/colorsel_gtk.c: GTK color selector wrapped up as a
color selector the gimp can use.
* app/gimpprogress.[ch]: progress bars within gimp core, either as
popups, or in the status bar. This is mainly code moved out
of plug-in.c
* app/color_notebook.[ch]: color selector notebook, implementing
very similar interface to color_select.h so it can be used as
a drop-in replacement for it.
* libgimp/color_selector.h: API color selectors need to implement
to become a page in the color_notebook.
* libgimp/gimpmodule.h: API gimp modules need to implement to be
initialised by gimp at start of day.
Modified files:
* Makefile.am: add modules/ to SUBDIRS
* libgimp/Makefile.am: install gimpmodule.h and color_selector.h
* app/gimprc.[ch]: recognise module-path variable.
* gimprc.in: set module-path variable to something sensible
(currently "${gimp_dir}/modules:${gimp_plugin_dir}/modules").
* app/Makefile.am: build color notebook and gimpprogress
* app/app_procs.c: register internal GIMP color selector with
color notebook.
* app/asupsample.c: call progress function less frequently for
better performance.
* app/asupsample.h: progress_func_t typedef moved to gimpprogress.h
* app/blend.c: make callbacks to a progress function
* app/color_area.c: use a color notebook rather than a color selector
* app/color_panel.c: ditto
* app/color_select.c: export color selector interface for notebook
* app/color_select.h: color_select_init() prototype
* app/flip_tool.c: flip the image every time, rather than every
second click.
* app/interface.c: move progress bar stuff out to
gimpprogress.c. Make the code actually work while we're at it.
* app/interface.h: move prototypes for progress functions out to
gimpprogress.h
* app/plug_in.c: load and initialise modules (if possible). Move
progress bar handling code out to gimpprogress.c
* app/plug_in.h: keep only a gimp_progress * for each plugin, not
a whole bunch of GtkWidgets.
* app/scale_tool.c
* app/rotate_tool.c
* app/shear_tool.c
* app/perspective_tool.c: progress bar during operation.
De-sensitise the dialog to discourage the user from running
two transforms in parallel.
* app/transform_core.c: recalculate grid coords when bounding box
changes. Only initialise the action area of the dialog once,
to avoid multiple "ok" / "reset" buttons appearing. Undraw
transform tool with correct matrix to get rid of handle
remains on screen. Call a progress function as we apply the
transform matrix. A few new i18n markups. Invalidate
floating selection marching ants after applying matrix.
* app/transform_core.h: transform_core_do() takes an optional
progress callback argument (and data).
* plug-ins/oilify/oilify.c: send progress bar updates after every
pixel region, not only if they processed a multiple of 5
pixels (which was quite unlikely, and therefore gave a jerky
progress indication).
Sun Jan 10 22:41:51 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>
New
* app/dialog_handler.c
* app/dialog_handler.h
Changed
* app/disp_callbacks.c
* app/gradient_select.c
* app/tools.c
* app/interface.c
* app/patterns.c
* app/gimpbrushlist.c
* app/palette.c
* app/layers_dialog.c
* app/devices.c
* app/errorconsole.c
Can now hide/show all main dialogs using the TAB key in any window.
However....
there is a bug in gtk that causes the Gimp the crash if you show
and then hide a lot of dialogs (eg if you have all dialogs visible
and press the TAB key repeatedly). I have email-ed an example to
the gtk bug list.
Also I can't seem to be able to catch the SHIFT-TAB combination
(suggestions welcome ;-) so the first press of the tab hide all
dialogs the second press reshows only the toolbox and the third
press reshows all. Comments please if you find this behaviour
non-intuitive.
Redid the indexed palette dialog to not crash, to be a bit more
usable, and to be a cleaner module. A first shot at using gcg in
actual practice.. If something is screwed, let me know!
* app/Makefile.am
* plug-ins/script-fu/scripts/Makefile.am: use -DREGEX_MALLOC,
seems to be more portable
* plug-ins/png/png.c: use a default gamma of 2.2 when gamma
correction isn't enabled
-Yosh
Wed Dec 23 23:59:52 GMT 1998 Andy Thomas <alt@picnic.demon.co.uk>
* app/palette.c
* app/Makefile.am
New:-
* app/palette_select.h
* app/palette_select.c
New smaller palette select dialog. This has an edit button
which invokes the palette editor.
Wed Nov 4 22:23:18 GMT 1998 Andy Thomas <alt@picnic.demon.co.uk>
* app/gradient.c
* app/Makefile.am
New files
* app/gradient_select.c
* app/gradient_header.h
Split gradient selector dialog out of the main gradient code.
New gradient headerfile that contains the key gradient structures
and #defines.
* acinclude.m4: for people without the gettext macros
* configure.in: don't explicitly link files
* app/Makefile.am: ad INTLLIBS to the link line
-Yosh
* initial merge of the internationalization stuff. It's still broken in a
couple places, so you're probably better off running configure with
--disable-nls (gimp-mgomulin-980727-0)
-Yosh
----------------------------------------------------------------------
Modified Files:
ChangeLog app/Makefile.am app/brush_select.c app/gimpbrush.c
app/gimpbrush.h app/gimpbrushgenerated.c app/gimpbrushlist.c
app/gimplist.c app/paint_core.c app/paint_core.h
added axis to brushes. paint_core now references a brush instead
of a mask. cleaned up some [brush]list removal stuff.
Added Files:
app/vector2d.c app/vector2d.h
very basic vector math struct/functions.
----------------------------------------------------------------------
* configure.in: check for inline by ourselves if it's not
defined in glibconfig.h. So inline works if glib is compiled
with a different compiler than gimp. The plug-ins that use
inline #include "config.h" now (blur, destripe, emboss,
gfli, nlfilt, ps, randomize, sinus, and zealouscrop)
* app/main.c: applied gimp-kc-980707-0; fixes command line
parsing
* plug-ins/dbbrowser/dbbrowser_utils.c: searching by name does
- <-> _ translation
* Added filter pack plugin
-Yosh
Modified Files:
ChangeLog app/Makefile.am app/airbrush.c app/app_procs.c
app/brush_select.c app/brush_select.h app/clone.c
app/colormaps.c app/commands.c app/convolve.c app/devices.c
app/eraser.c app/gimage_mask.c app/gimpobject.h app/ink.c
app/internal_procs.c app/paint_core.c app/paint_core.h
app/paintbrush.c app/pencil.c app/preferences_dialog.c
Minor modifications to support new brush functionality
Added Files:
app/brush_edit.c app/brush_edit.h app/gimpbrush.c
app/gimpbrush.h app/gimpbrushgenerated.c
app/gimpbrushgenerated.h app/gimpbrushlist.c
app/gimpbrushlist.h
new files to support vector generated brushes and
reorganization/objectification of the brush class
Removed Files:
app/brushes.c app/brushes.h
Obsoleted by gimpbrush.? and gimpbrushlist.?
----------------------------------------------------------------------
objects. (And to automatically manage their signals, not implemented
yet)
Moved drawable_apply_image to drawable.c
Created a global context object (image_context) to handle the
collection of images that the app manages.
Started separating crud out of drawables.
Isolated the id system of images entirely within pdb. Even the
window titles and menus use pointers instead of ids. Should at
least remind people that this is a developers' version. :)
* app/Makefile.am: corrected typo
* app/bezier_select.c
* app/rect_select.[ch]: merged in bezier extend patch by Raphael
FRANCOIS (fraph@ibm.net)
* app/menus.c: restored "lost" menu items and shortcuts
These really aren't tools.. maybe they should go somewhere else?
* plug-ins/Lighting/lighting_main.c: added gimp_displays_flush
-Yosh
* configure.in: compile everything with -D_REENTRANT
* app/menus.c: fix for default accel (wrong X char)
* libgimp/gimpenums.h: make DIVIDE_MODE visible
* plug-ins/gif/gif.c: make it less verbose again
-Yosh
file 'sessionrc' is written and the position of some windows is
remembered. Still has some problems (offset by wm decorations).
Can be switched off in the preferences.
Sun Jun 14 18:37:06 1998 Owen Taylor <otaylor@gtk.org>
* Makefile.am app/blob.[ch] (blob_bounds): Added new files for
handling scan-converted convex polygons. (From
gsumi) (these will be moved out to a plug-in tool directory
when such a thing exists)
* app/ink.[ch]: New tool for drawing with a hard-edged
pressure and tilt-sensitive brush.
* gimprc.c interface.c paint_core.c pixmaps.h tools.[ch]
All the modifications for adding a new tool. We need
to fix this.
Mon Jun 8 16:39:19 EDT 1998 Adrian Likins <adrian@gimp.org>
*app/commands.c
*app/file_new_dialog.[ch]
*app/prefereces_dialog.[ch]: split up command.c
into three files, commands.c, file_new_dialog.c,
and preferences.c
*app/Makefile.am: change to incorporate the new files
*TODO: more feature ideas
Fri Jun 5 22:37:40 1998 Owen Taylor <otaylor@gtk.org>
* app/Makefile.am app/app_procs.c app/brushes.c app/commands.[ch]
app/disp_callbacks.c app/gdisplay.[ch] app/gimprc.c
app/interface.[ch] app/menus.c app/paint_core.[ch]
app/paintbrush.c app/palette.c app/scroll.c
app/tools.[ch] app/undo.c
- Added two new dialogs - input devices; (GtkInputDialog)
and DeviceStatus - which shows the tool/color for
each device.
- Added device_status_update() call that gets called
whenever the tool/color etc. are changed.
- Added ~/.gimp/devicerc file to store settings
- Code to draw cursor on canvas for non XFree86 XInput
where device can't control cursor and extended input
device simultaneously.
- Changed input handling so that we always use the pointer
position from the device, not from gdk_input_window_get_cursor,
so that motion and cursor position sync.
- Various changes so things work with non-integer coordinates
- Pay attention to pressure and tilt in basic tool support.
- New paint mode PRESSURE that changes the brush based on
the brush pressure
- Left in a few XInput hacks that should be removed, but I no longer
remember what they are.
* app/about_dialog.c
* app/app_procs.c
* app/main.c: use GIMP_VERSION from config.h now
* gimptool made to ease plug-in development and installation
-Yosh
random() and add -lucb on systems that need it. Fix for xdelta.h check. Find
xemacs as well as emacs. Properly define settings for print plugin.
app/Makefile.am: ditch -DNDEBUG, since nothing uses it
flame: properly handle random() and friends
pnm: workaround for systems with old sprintfs
print, sgi: fold back in portability fixes
threshold_alpha: properly get params in non-interactive mode
bmp: updated and merged in
-Yosh