2001-11-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplay-foreach.c: forgot to commit last time.
Transform stuff cleanup:
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpdrawable-transform.[ch]: new files implementing
the actual transform functions cut from tools/gimptransformtool.*.
* app/core/gimpdrawable-transform-utils.[ch]: new files implementing
transform matrix assembly utility functions.
* app/tools/gimptransformtool.[ch]: removed the stuff here. cleanup.
* app/tools/transform_options.[ch]: removed all stuff which does
not belong here, e.g. the transform_tool_* functions and the
global "transform_options" variable. Works like all other tool
options now.
* app/tools/gimpfliptool.[ch]
* app/tools/gimpperspectivetool.[ch]
* app/tools/gimprotatetool.[ch]
* app/tools/gimpscaletool.[ch]
* app/tools/gimpsheartool.[ch]: massive code removal because
we can use core/gimpdrawable-fransform* functions now. cleanup.
* tools/pdbgen/Makefile.am
* tools/pdbgen/groups.pl: added new PDB group "transform_tools".
* tools/pdbgen/pdb/tools.pdb: removed the transform stuff here...
* tools/pdbgen/pdb/transform_tools.pdb: and added *much*
simplified versions which use the new core/gimpdrawable-transform*
utilities.
* app/pdb/Makefile.am
* app/pdb/transform_tools_cmds.c: new file.
* app/pdb/internal_procs.c
* app/pdb/tools_cmds.c: regenerated.
* libgimp/Makefile.am
* libgimp/gimp_pdb.h
* libgimp/gimptransformtools_pdb.[ch]: new files.
* libgimp/gimptools_pdb.[ch]: regenerated.
2001-11-19 Daniel Egger <degger@fhm.edu>
* app/paint-funcs/paint-funcs.c
* app/paint-funcs/paint-funcs-generic.h
* app/paint-funcs/paint-funcs.h:
- Statified a few functions so they can be inlined.
- Simplified function calls.
- Unsignified variables and parameters where possible.
- Reduced lookuptable size for add_pixels from 256*256*4 bytes
to 2*256-1 bytes and O(n*n) function in paint_funcs_setup
to O(n). Should reduce memory consumption by almost 1/4 Mb.
This needs much more cleanup....
2001-11-19 Daniel Egger <degger@fhm.edu>
* app/paint-funcs/paint-funcs-mmx.h: New file. Added glue code
for the assembly MMX functions.
* app/paint-funcs/paint-funcs-generic.h: Moved MMX code from here ...
* app/paint-funcs/paint-funcs-mmx.h: ... to here. Cleaned up a bit
and don't check for use_mmx on every single call but ...
* app/paint-funcs/paint-funcs.c: (paint_funcs_setup): ... here and
register MMX functions if CPU has those capabilities.
Code is untested for the MMX case due no available Intel-Machine
right now but should't be to far away from a working state.
2001-11-19 Daniel Egger <degger@fhm.edu>
* app/paint-funcs/paint-funcs.c
* app/paint-funcs/paint-funcs-generic.h: Split generic (read: C)
code for pixelmanipulation and most of the code that belongs to it
into new file.
(apply_layer_funcs): Gone. The correct layer function is now
dispatched from the layer_mode_funcs table and the table is
per default initialised with the generic functions. Arguments
will be passed by a struct apply_layer_mode_struct instead
of directly per stack to avoid parameter typying madness.
It's now cleanly possible to check for availabilty of
MMX/AltiVec/(insert your favourite brew here) in
paint_funcs_setup () and change the table to use faster routines.
The old MMX cruft which is temporaribly in paint-funcs-generic.h
will soon be gone but I'm to tired now.
* app/paint-funcs/paint-funcs.c: Braind dead code for temporary
buffer (which never shrunk only grew) gone and replaced by
straightforward code.
* app/paint-funcs/paint-funcs-generic.h: Applied a bunch of obvious
optimisations to reduce code size and avoid parameter madness.
* paint-funcs-[gray|graya|indexed|rga|rgba].[c|h]: Gone. I lost
several days of work on these files and came to the conclusion
that there has to be an easier way anyway. :)
Everything well tested on PPC and producing exactly the same results
as the code before so this has good odds to be the first major
change that won't break GIMP. :)
2001-11-18 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplay-foreach.c: fixed a comment.
* app/gui/file-open-dialog.c: no need to declare
"extern GSList *display_list;".
* app/gui/brush-select.c
* tools/pdbgen/pdb/brush_select.pdb: pass opacity as [0.0..100.0]
through the PDB and as [0.0..1.0] to the app.
* app/pdb/brush_select_cmds.c: regenerated.
* plug-ins/gfig/gfig.c: full opacity is 100.0, not 1.0.
(GFig and script-fu may still be broken after this change).
2001-11-17 Michael Natterer <mitch@gimp.org>
Made --no-interface not calling gtk_init() (and thus not
contacting the X server) any more. (Fixes#58961).
* app/core/gimp.[ch]: added two new function pointers
"gui_main_loop_func" and "gui_main_loop_quit_func" and an own
stack of GMainLoops which is used if they are not set.
* app/gui/gui.[ch]: added main loop functions here and set them as
pointers in the Gimp instance. Separated gui_libs_init() from
gui_themes_init() so it can be used as replacement for gtk_init()
and be called before command line parsing.
* app/main.c: check for "--no-interface" before initializing
anything. Added a "--g-fatal-warnings" option (cut'n'paste from
gtkmain.c). Added a check for "--" (end of options).
* app/app_procs.c: call the new gimp_main_loop() functions,
call gui_themes_init().
* app/devices.[ch]: reduce usage of "the_gimp" by passing "Gimp"
pointers to some functions.
* app/plug_in.c: some ugly checks for the_gimp->no_interface which
will go away once this file is core/ui chopped. Call
gimp_main_loop() stuff instead of gtk_main().
* app/core/gimptoolinfo.c: allow passing a NUL GdkPixbuf pointer.
2001-11-16 Michael Natterer <mitch@gimp.org>
Wishlist item #57812:
* app/core/gimpimage.[ch]: added a progress_callback to
gimp_image_scale().
* app/gui/gui.c
* app/gui/image-commands.c
* app/gui/resize-dialog.h
* tools/pdbgen/pdb/image.pdb: changed accordingly.
* app/core/gimp.[ch]: found that gimp->busy needs to be a counter,
not a boolean, so nested calls work.
* app/pdb/image_cmds.c: regenerated.
2001-11-16 Michael Natterer <mitch@gimp.org>
Wishlist item #57669:
* app/gimprc.[ch]: replaced gimprc option "allow-resize-windows"
by "resize-windows-on-zoom" and "resize-windows-on-resize".
* app/gui/preferences-dialog.c: added a toggle for
"resize-windows-on-resize".
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-scale.c
* app/tools/gimpmagnifytool.c
* docs/gimprc.5.in
* etc/gimprc.in
* etc/gimprc.win32: changed accordingly.
* app/display/gimpdisplay-area.[ch]: added gimp_area_new().
* app/display/gimpdisplay.c: cleanup usage of GimpArea.
* app/display/gimpdisplayshell.[ch]: added configurable canvas
padding color and a small color_panel to change it in the upper
right corner of the window.
* app/display/gimpdisplayshell-callbacks.[ch]: added a callback
for the color_panel, initialize the color in the "realize"
callback.
Wishlist item #51548.
* app/display/gimpdisplayshell-selection.[ch]
* app/gui/menus.c
* app/gui/view-commands.[ch]: made the layer boundary toggleable
separately from the selection.
* app/gui/color-notebook.c: #if 0'ed a debugging g_print().
2001-11-16 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcolorbutton.[ch]: added Black and White to popup
menu. Take widget->allocation into account when calculation popup
position since GtkButton is a NO_WINDOW widget now.
2001-11-15 Michael Natterer <mitch@gimp.org>
Gimp's opacity values are a pain... the core actually *should*
only accept and expose values in a [0.0..1.0] range.
* app/core/gimpdrawable-blend.c
* app/core/gimpdrawable-bucket-fill.c: take 0.0 <= opacity <= 1.0,
*not* 0.0 < opacity <= 100.0.
* app/tools/gimpblendtool.c: don't (opacity * 100.0) before passing.
* tools/pdbgen/pdb/tools.pdb: (opacity / 100.0) before passing.
* app/display/gimpdisplayshell-dnd.c: paint_mode and opacity were
swapped in the call to gimp_drawable_bucket_fill_full().
* app/pdb/tools_cmds.c: regenerated.
2001-11-15 Michael Natterer <mitch@gimp.org>
* app/gui/layers-commands.c: fixed the layers dialog's "New Layer"
button by checking for a floating selection in
layers_new_layer_query() instead of
layers_new_layer_cmd_callback().
2001-11-15 Michael Natterer <mitch@gimp.org>
* app/tools/gimpdrawtool.[ch]: restructured the new draw utility
functions and added gimp_draw_tool_draw_handle() and
gimp_draw_tool_on_handle().
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.c
* app/tools/gimpcroptool.[ch]
* app/tools/gimpiscissorstool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c
* app/tools/gimppathtool.c
* app/tools/gimptransformtool.c: use the new functions all over
the place so handle drawing and mouse_over detection work the same
for all tools.
2001-11-15 Rebecca Walter <rjp@mail.tele.dk>
* app/core/gimpbrush.c
* app/core/gimpbrushpipe.c
* app/core/gimpchannel.c: Proofreading to strings, approved by Sven
2001-11-14 Manish Singh <yosh@gimp.org>
* RELEASE-TO-CVS.patch: gtk_item_factory_parse_rc->gtk_accel_map_load,
gtk_item_factory_dump_rc->gtk_accel_map_save
* configure.in: fixes for newer autoconf, AC_INIT with etc/gimprc.in
now
* app/core/gimpcontainer.c: g_type_instance_is_a is private (and
got renamed recently), use G_TYPE_CHECK_INSTANCE_TYPE instead
* app/gui/gradient-editor.c: use gtk_accel_label_set_accel_widget
instead of gtk_accel_label_set_accel_object
* app/gui/module-browser.c: replaced CList with a TreeView
2001-11-14 Sven Neumann <sven@gimp.org>
* app/pdb/gimprc_cmds.c
* tools/pdbgen/pdb/gimprc.pdb: added a missing g_strdup() that caused
gimp_get_default_comment() to free the global default comment.
2001-11-14 Michael Natterer <mitch@gimp.org>
* app/tools/tool_manager.[ch]: added
tool_manager_button_press_active() and friends functions.
* app/display/gimpdisplayshell-callbacks.c:
gimp_display_shell_canvas_events(): use the functions instead of
re-fetching the active_tool whenever it may have changed
(which requires knowledge about the tools' implementation).
Also moved lots of variables around.
2001-11-14 Michael Natterer <mitch@gimp.org>
* Makefile.am: changed build order of toplevel directories so that
the stuff which is most likely to be broken during "make dist"
(the po stuff) is built before the actual source.
2001-11-13 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c: get the active_tool
_after_ maybe changing it by calling devices_check_change().
2001-11-13 Michael Natterer <mitch@gimp.org>
* app/gui/menus.c: the toolbox menu's last_used_documents menu
contained one entry too few if the number of documents was smaller
or equal than gimprc.last_opened_size.
2001-11-13 Michael Natterer <mitch@gimp.org>
* app/gui/user-installed-dialog.c: fixed some action_area uglyness
which occured after the switch to GtkDialog.
2001-11-13 Sven Neumann <sven@gimp.org>
* app/base/temp-buf.c: added some safety checks.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpimagefilepreview.[ch]: a new class implementing
special GimpPreview methods for GimpImagefile.
* app/core/gimpimagefile.c: added code to load thumbnails according
to the proposed Thumbnail Managing Standard
(see http://triq.net/~pearl/thumbnail-spec/). Pretty much untested.
* app/widgets/gimpcontainerview-utils.c: plugged a memleak.
* app/widgets/gimpimagepreview.c: simplified.
* app/widgets/gimppreview.c: tell it about GimpImagefilePreview.
2001-11-13 Michael Natterer <mitch@gimp.org>
* configure.in: commented out generation of some files in
plug-ins/ so config.status doesn't warn about non-existing
directories.
2001-11-12 Michael Natterer <mitch@gimp.org>
* HACKING: small fix.
* configure.in: changed --disable-perl to --enable-perl because
it doesn't build properly at the moment.
* pixmaps/Makefile.am: removed stuff which is no longer there
from EXTRA_DIST.
* plug-ins/Makefile.am: put back the $(GIMP_PERL) line in SUBDIRS.
* app/widgets/gimpmenuitem.c. include "libgimpwidgets/gimpwidgets.h".
* data/Makefile.am
* data/brushes/Makefile.am
* data/gradients/Makefile.am
* data/palettes/Makefile.am
* data/patterns/Makefile.am: removed the old "files" hack and put
the stuff to EXTRA_DIST.
* app/Makefile.am
* app/base/Makefile.am
* app/core/Makefile.am
* app/file/Makefile.am
* app/gui/Makefile.am
* app/paint-funcs/Makefile.am
* app/pdb/Makefile.am
* app/tools/Makefile.am
* app/widgets/Makefile.am
* app/widgets/gimpmenuitem.c
* app/xcf/Makefile.am
* cursors/Makefile.am
* libgimp/Makefile.am
* libgimpbase/Makefile.am
* libgimpcolor/Makefile.am
* libgimpmath/Makefile.am
* libgimpwidgets/Makefile.am
* m4macros/Makefile.am
* themes/Makefile.am
* themes/Default/Makefile.am
* themes/Default/images/Makefile.am
* themes/Default/images/tools/Makefile.am: removed "files" target.
2001-11-12 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-types.h: changed GimpItemGetNameFunc
signature to return a tooltip in a passed gchar* pointer location.
* app/widgets/gimpcomponentlistitem.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainerview-utils.c
* app/widgets/gimplistitem.c
* app/widgets/gimpmenuitem.c: changed all get_name_funcs and their
callers accordingly (passing the "gchar **tooltip" pointer is
optional).
2001-11-12 Michael Natterer <mitch@gimp.org>
* plug-ins/common/pixelize.c: implemented a feature request:
Made the pixel size configurable independently in x and y
direction. Added new PDB function. Use a GimpCoordinates widget
for the dialog.
2001-11-12 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c: use
gimp_display_shell_[install|remove]_override_cursor() to set the
middle mouse button move cursor so we get the original cursor back
after scrolling.
* app/tools/gimpdrawtool.[ch]: added lots of drawing functions
(gimp_draw_tool_draw_rectangle() etc.) which work in image (or
active drawable) coordinates.
* app/tools/gimpblendtool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c
* app/tools/gimppathtool.c
* app/tools/gimprectselecttool.c
* app/tools/gimptransformtool.[ch]
* app/tools/path_tool.[ch]: use the new functions. Removed tons of
gdk_draw_foo() and gdisplay_transform_foo() calls. Most drawing
functions look *much* nicer now. Ported some tools to detect
handle clicks in display coordinates while I was on it, misc
fixes.
* app/tools/gimpmovetool.[ch]: derive from GimpDrawTool instead
of drawing manually.