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-03-16 Hans Breuer <hans@breuer.org>
* app/makefile.msc
* app/tools/makefile.msc : adapted to current state of file
renaming/restructuring. Probably will break again soon ...
* app/context_manager.c : needs register_tools () prototype
* app/gimplist.c
* app/gimppalette-import.c : #include <string.h> for memcpy, strcmp
and friends
* app/pdb/fileops_cmds.c : #include <process.h> /* for _getpid() */
(Yes I know that this is not the right place to change it, but hacking
pdbgen.pl to get platform specific headers is out of my scope)
* app/test_commands.c : explicit casts to (GimpSetDrawableFunc) make
it compile even with strict checks turned on.
* app/undo.c (undo_pop_paint) : return a value even if the function
does nothing at the moment (makes it compile)
* libgimp/gimp.def : updated
* libgimp/gimpcolorselector.h : include <gmodule.h> to make
gimp_color_selector_(un)register prototypes conform to their
implementation
* libgimp/gimpfeatures.h : reflect 1.3 version
* libgimpmath/gimpmatrix.c
* libgimpwidgets/gimpdialog.c : more <string.h> inclusion
* libgimp/makefile.msc : moved gimpadativesupersample.c to
libgimpcolor, which makes it reusable from the core, too.
* libgimp/gimp.def : updated
* libgimp/gimpproceduraledb.c : #include <string.h>
* libgimpcolor/gimpcolor.def
* libgimpcolor/makefile.msc : added gimpadaptivesupersample
* libgimpmath/gimpmatrix.c : #include <string.h> for memcmp
* libgimpwidgets/gimpdialog.c - " - for strcmp
2001-02-19 Michael Natterer <mitch@gimp.org>
* app/context_manager.c
* app/gimpdatafactory.c
* app/gimpdatalist.[ch]
* app/gimplist.[ch]
* app/module_db.c: return a GimpContainer from all container
subclass constructors.
* app/gimppalettepreview.c
* app/palette.c: changed the preview a bit. Still ugly.
2001-02-17 Michael Natterer <mitch@gimp.org>
* app/gimpcontainer.[ch]
* app/gimpcontainergridview.c
* app/gimpcontainerlistview.c
* app/gimpcontainerview.[ch]
* app/gimplist.c
* app/gimpmarshal.[ch]: the GimpContainer has a new virtual "reorder"
method which is much more eficient then the current remove/add
braindeadness when renaming data objects.
Changed the views to connect to "reorder" and call the
GimpContainerView's new "reorder_item" method which then does
the right thing in the view subclasses.
* app/gimpdatafactory.c
* app/gimpdatafactoryview.c
* app/gimpdatalist.[ch]: removed the data list loading and saving
stuff from GimpDataList because that's the job of the
GimpDataFactory.
* app/brush_edit.[ch]
* app/brush_select.c: cleanup.
* app/gradient_editor.[ch]: changed it to work like the brush
editor: return a GradientEditor pointer in the constructor
and statically store this pointer in the gradient selection file.
Removed the global "g_editor" variable and added tons of
GradientEditor* variables to function calls so they know their
context without the global variable.
* app/gradient_select.c: changed accordingly.
2001-02-05 Michael Natterer <mitch@gimp.org>
* app/gimpcontainer.[ch]
* app/gimplist.[ch]: made the "get_by_name" and the "by_index"
access functions methods of the GimpContainerClass. The semantic
of this index is somewhat unclear if we have e.g. a hash table
implementation but the container needs to have an order for the
ContainerView. Finally, the ordering will be a feature of the
ContainerView.
* app/gimpmarshal.[ch]: marshallers needed for the new methods.
* app/brushes.[ch]
* app/patterns.[ch]: the public global brush and pattern lists
are GimpContainers now (they are really GimpLists of course).
* app/brush_select.c
* app/devices.c
* app/gimpcontainerlistview.c
* app/gimpcontext.c
* app/gimpdnd.c
* app/pattern_select.c
* app/pdb/brush_select_cmds.c
* app/pdb/brushes_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/pattern_select.pdb
* tools/pdbgen/pdb/patterns.pdb: 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-29 Michael Natterer <mitch@gimp.org>
* app/brush_edit.[ch]
* app/brush_header.h
* app/gimpbrush.[ch]
* app/gimpbrushgenerated.[ch]
* app/gimpbrushlist.[ch]
* app/gimpbrushpipe.[ch]
* app/gimpcontext.h
* app/gimplist.[ch]
* app/gimpobject.[ch]
* app/gimpset.[ch]
* app/gimpsignal.[ch]
* app/parasitelist.h: Lotsa fixes in the brush referencing code
and cleanups in many GtkObjects:
- Reference brushes correctly (call gtk_object_sink() after adding
them to the brush list). Don't crash when renaming a brush
multiple times.
- Replaced all gtk_object_destroy() with gtk_object_unref|sink().
- Removed the "Fake Gimp object system" (gimp_object_destroy() et.al.)
all over the place (while it's a good idea to have a common Gimp
base object, it's totally useless to try to imitate Gtk's object
system).
- s/sz_BrushHeader/sizeof(BrushHeader)/g
- And of course various indentation and coding style paranoia changes
in all files I visited.
2000-02-24 Michael Natterer <mitch@gimp.org>
* app/datafiles.c: fixed a memleak.
* app/gimpbrushlist.c
* app/gradient.c
* app/palette.c: use the gimp_path_* functions, cleanups.
* app/gimpbrushpipe.c: call the "destroy" function of the parent
class, not of the object class. Fixes a huge memleak on each
"Refresh".
* app/gimpbrushpipeP.h
* app/gimplist.c
* app/gimpbrush.c: did some cleanups while searching the brush
memleak.
* libgimp/gimpenv.c: gimp_path_get_user_writable_dir(): return a
copy of the string.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c: g_free() the string returned by
gimp_path_get_user_writable_dir().
----------------------------------------------------------------------
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.
----------------------------------------------------------------------