mirror of https://github.com/GNOME/gimp.git
11 Commits
Author | SHA1 | Message | Date |
---|---|---|---|
Michael Natterer | e2daae315b |
an evil temp_hack which lets GimpContext managing the active display
2001-08-14 Michael Natterer <mitch@gimp.org> * app/gdisplay.h: an evil temp_hack which lets GimpContext managing the active display withoug including "gdisplay.h". Will go away as soon ad context properties are registered dynamically. * app/module_db.c: cleaned up the object code in preparation of moving it to core/. * app/path.c: connect to GimpImage's * app/core/gimpobject.[ch]: derive it from GObject, not from GtkObject any more (yeah :-) * app/core/*.c: #include <glib-object.h> instead of <gtk/gtk.h>, removed some remaining GtkObject-isms. (left in a few #include <gtk/gtk.h> where bigger changes are needed to get rid of the UI dependency). * app/core/core-types.h: #include <gdk-pixbuf/gdk-pixbuf.h> here temporarily. * app/core/gimp.c (gimp_create_display): unref the image after creating it's first display. * app/core/gimpbrush.[ch]: disabled the parts of the code which depend on GimpPaintTool. * app/core/gimpbrushgenerated.c * app/core/gimpbrushpipe.c: changed accordingly. * app/core/gimpcontext.[ch]: evil hack (see above) to manage the active display without including "gdisplay.h" * app/core/gimpimage-mask.[ch]: pass a context to gimage_mask_stroke() and get the current tool's PDB string from there. * app/core/gimpedit.c: changed accordingly. * app/core/gimpimage.c: use gimp_image_update() instead of gdisplays_update_full(). * app/gui/color-area.c * app/gui/colormap-dialog.c * app/gui/dialogs-constructors.c * app/gui/edit-commands.c * app/gui/image-commands.c * app/gui/toolbox.c: changed accordingly (don't use Gtk methods on GObjects). * app/gui/menus.c: fix some const warnings by explicit casting. * app/tools/*.[ch]: ported all tools to GObject, some minor cleanup while i was on it. * app/widgets/gimpdialogfactory.[ch]: ported to GObject. * app/widgets/gimplayerlistview.h: added FOO_GET_CLASS() macro. * tools/pdbgen/app.pl: added a "widgets_eek" hack like "tools_eek" which inserts #include "widgets/widgets-types.h" before ordinary includes. * tools/pdbgen/pdb/brush_select.pdb * tools/pdbgen/pdb/edit.pdb * app/pdb/brush_select_cmds.c * app/pdb/edit_cmds.c: changed according to the stuff above. |
|
Michael Natterer | 7de0a2cbdd |
removed a gdk_pointer_ungrab(), it was only there because of buggy gtk+
2001-08-07 Michael Natterer <mitch@gimp.org> * app/disp_callbacks.c: removed a gdk_pointer_ungrab(), it was only there because of buggy gtk+ 1.2.x. Cosmetic changes. * app/undo.c: use G_N_ELEMENTS() instead of sizeof(array)/sizeof(element). * app/gui/menus.c: more stock icons, moved the item_factory creation into the menus_get_foo_factory() functions, use G_N_ELEMENTS(). This file badly needs to be spit up... * app/core/gimpviewable.[ch] * app/widgets/gimpcontainermenu.[ch] * app/widgets/gimpcontainerview.[ch] * app/widgets/gimplistitem.[ch] * app/widgets/gimpmenuitem.[ch] * app/widgets/gimppreview.[ch]: replaced tons of signal emissions by virtual functions which are *much* faster. Moreover, all of them are private implementation bits of the specific class hierarchy and are useless or even dangerous to be exposed as signals. * app/widgets/gimpdrawablelistitem.c: removed the drag_motion() implementation as it's already done in the parent class. * app/widgets/gimplistitem.[ch] * app/widgets/gimplayerlistitem.c: redraw the widget when the drop_type has changed. Fixes drop_indicator drawing. |
|
Michael Natterer | 06b16890ba |
Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)
2001-07-24 Michael Natterer <mitch@gimp.org> Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning) * configure.in: require glib/gtk+ >= 1.3.7, commented out the gtkxmhtml stuff. From now on, you will need glib, pango, atk and gtk+ HEAD from CVS to hack or use GIMP HEAD. Beware, it crashes randomly :) * app/core/Makefile.am * app/core/gimpmarshal.list: new file plus rules to generate gimpmarshal.[ch] from it. * app/core/* * app/tools/* * app/widgets/* * libgimpwidgets/*: started to use the glib object system. All core/ objects are still gtk objects however. All signals are created using g_signal_new(). There are many gtk+ artefacts left. Finally, we will _not_ use the gtk_signal_foo() wrappers and friends any more. * app/colormaps.c * app/devices.[ch] * app/disp_callbacks.c * app/errorconsole.c * app/file-save.[ch] * app/interface.c * app/module_db.c * app/nav_window.c * app/ops_buttons.c * app/scroll.c * app/user_install.c * app/gui/about-dialog.c * app/gui/brush-editor.c * app/gui/brushes-commands.c * app/gui/color-notebook.c * app/gui/colormap-dialog.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/file-commands.c * app/gui/file-dialog-utils.c * app/gui/file-new-dialog.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.c * app/gui/gradient-editor.c * app/gui/gradients-commands.c * app/gui/image-commands.c * app/gui/info-dialog.[ch] * app/gui/layer-select.c * app/gui/layers-commands.c * app/gui/menus.c * app/gui/offset-dialog.c * app/gui/palette-editor.c * app/gui/palettes-commands.c * app/gui/patterns-commands.c * app/gui/preferences-dialog.c * app/gui/resize-dialog.[ch] * app/gui/splash.c * app/gui/tips-dialog.c * app/gui/tool-options-dialog.c * app/gui/toolbox.c * app/gui/tools-commands.c * libgimp/gimpbrushmenu.c * libgimp/gimpmenu.c * libgimp/gimppatternmenu.c * libgimp/gimpui.c * libgimpbase/gimpenv.c: tons and tons of changes like "const gchar*", switch from GdkDeviceInfo to GdkDevice (very incomplete and currently disables), lots of s/gtk_signal/g_signal/, removal/replacement of deprecated stuff, s/GtkSignalFunc/GCallback/ and lots of small changes and fixes while I was on it, zillions of warnings left... * modules/Makefile.am: disabled the water color selector temporarily (XInput issues). * plug-ins/Makefile.am * plug-ins/common/.cvsignore * plug-ins/common/Makefile.am * plug-ins/common/plugin-defs.pl: simply excluded all plug-ins which did not build (including Script-Fu). They are trivial to fix. |
|
Michael Natterer | 3ef20cd842 |
major cleanup. After being finished, I decided that it needs to be
2001-06-18 Michael Natterer <mitch@gimp.org> * app/nav_window.[ch]: major cleanup. After being finished, I decided that it needs to be factored out to a widget (see below), so like 90% of this file will go away soon. * app/apptypes.h: added opaque NavigationDialog typedef. * app/gdisplay.[ch]: Added gdisplay_selection_visibility() which is called from gdisplays_selection_visibility(). Capitalized the SelectionControl enum values. Cleaned up the GDisplay struct and it's initialisation while i was on it. * app/gimage.c: gimage_size_changed_handler(): removed stuff which is now done by GimpImage itself. * app/scale.c * app/scroll.c: also update the navigation popup, not only the dialog. * app/selection.[ch]: major indentation & cleanup attack. Maybe found the "Selection vanishes" bug (the timeout id was assinged to a gint, not a _guint_). * app/undo.c: s/gimp_image_size_changed/gimp_viweable_size_changed/ * app/core/gimpdrawable.c: invalidate the image's preview from our "invalidate_preview" implementation. This means that the image's preview is invalidated way too often currently, which cries for some general freeze/thaw mechanism on the GimpViewable level. (Note that previews are rendered in the idle loop, so this is not really a major performance impact, it's just ugly). * app/core/gimpimage.[ch]: removed the "size_changed" signal... * app/core/gimpviewable.[ch]: ...and added it here. * app/core/gimplayer.c: invalidate_preview(): always chain up, also if it's a floating selection. * app/gui/info-dialog.[ch] * app/gui/info-window.c: minor cleanups. * app/gui/preferences-dialog.c: no need to invalidate the image after we have invalidated all it's layers. * app/core/gimpimage-mask.c * app/gui/commands.c * app/tools/gimpeditselectiontool.c * app/tools/gimpinktool.c * app/tools/gimpmovetool.c * app/tools/gimppainttool.c: capitalized the SelectionCommand enum values. * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpnavigationpreview.[ch]: new widget. * app/widgets/gimppreview.[ch]: added a non-working non-dot-for-dot mode. Added xres/yres params to the gimp_preview_calc_size() helper function. Cache the "size" value which was passed to the simple function variants (gimp_preview_new() and gimp_preview_set_size()) so we can re-calculate the preview's extents on the underlying viewable's "size_changed" signal and on gimp_preview_set_viewable(). * app/widgets/gimpdrawablepreview.c * app/widgets/gimpimagepreview.c: changed accordingly. |
|
Michael Natterer | d240f623f1 |
new directory app/base/
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. |
|
Michael Natterer | d1022c34b6 |
app/Makefile.am removed.
2001-05-10 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/asupsample.[ch]: removed. * app/core/Makefile.am * app/core/core-types.h * app/tools/Makefile.am * app/tools/tools-types.h: new files. * app/tools/gimptoolinfo.[ch]: removed. * app/core/gimptoolinfo.[ch]: added here. * libgimp/Makefile.am * libgimp/gimp.h * libgimp/gimpadaptivesupersample.[ch] * libgimp/gimpbilinear.[ch]: removed here... * libgimpcolor/Makefile.am * libgimpcolor/gimpcolortypes.h * libgimpcolor/gimpadaptivesupersample.[ch] * libgimpcolor/gimpbilinear.[ch]: ..and added here. * tools/pdbgen/app.pl * tools/pdbgen/pdb/paths.pdb * app/*.c: changed tons of #include's |
|
Michael Natterer | 59b06707bd |
added GimpDropMode... ...removed from here.
2001-05-06 Michael Natterer <mitch@gimp.org> * app/appenums.h: added GimpDropMode... * app/gimpdnd.h: ...removed from here. * app/gimpimage.[ch]: - New signal "mode_changed". - removed "const GimpImage*" from gimp_image_colormap_changed() because a signal emission is never "const" for the object which emits the signal. - Fixed gimp_image_[set|get]_component_[active|visible](): ALPHA_CHANNEL maps to ALPHA_PIX only in RGB mode, use ALPHA_G_PIX/ALPHA_I_PIX in GRAY/INDEXED mode. * app/gimpimage-convert.c * app/undo.c: call gimp_image_mode_changed(). * app/gimpviewable.c: added an implementation of "invalidate_preview" which frees the preview temp_buf which may be attached to the viewable. Subclasses need to chain up now. * app/gimpdrawable.c * app/gimpimage.c: chain up in invalidate_preview(). * app/widgets/gimpchannellistview.c: connect to the image's "mode_changed" signal and rebuild the channel list in the callback. * app/widgets/gimpcontainerview.h: indentation. * app/widgets/gimpdockbook.c: set the dockable's context to NULL in gimp_dockbook_remove() * app/widgets/gimpimagedock.c: forgot to actually set the dock's image in gimp_image_dock_new(). * app/gui/dialogs-constructors.c: added a get_name_func() for tool views which returns the tool's "blurb". It's safe to assume now that a dockable's context will exist as long as the dockable exists unless it's explicitely set to NULL, so remove ugly hacks handling context destruction. * app/tools/gimptool.c: removed COMPAT_CRUFT and useless #include's. |
|
Michael Natterer | 90e8b4d790 |
cleanup.
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. |
|
Michael Natterer | 5ffb34db38 |
V2001-02-07 Michael Natterer <mitch@gimp.org>
* 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. |
|
Michael Natterer | f16c3aef18 |
app/Makefile.am new widget providing a grid view in the style of the
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. |
|
Michael Natterer | f029c6b59f |
app/Makefile.am app/apptypes.h new object. Everything that can have a
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. |