2002-02-20 Michael Natterer <mitch@gimp.org>
Implemented #10125 ("quick" colour picker does not honour
"sample merged")
* app/tools/gimpcolorpickertool.[ch]: made definition of
GimpColorPickerToolOptions public.
* app/tools/gimppainttool.c: get the color picker's tool_options
and pick colors accordingly. Also draw a rectangle for
"sample_average".
2002-02-20 Michael Natterer <mitch@gimp.org>
Oops, yesterday's "fix" for #10466 made it even worse :)
* app/core/gimpdrawable-transform.c: need the 0.5 offset to
the pixel's center only for INTERPOLATION_NONE, as the LINEAR
and CUBIC algorithms already know about their errors.
* app/tools/gimpperspectivetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c: some more s/gint/gdouble/ so the
tools can detect pointer motions again...
2002-02-19 Michael Natterer <mitch@gimp.org>
Fixed#10466 (disappearing pixels when rotating by 90 deg):
* app/core/gimpdrawable-transform.c: when transforming backwards
to find the destination line's sub-pixel source coordinates, we
need to transform the pixels _center_, not it's upper left corner.
* app/core/gimpdrawable-transform-utils.[ch]: added
gimp_drawable_transform_matrix_rotate_center() which takes double
center coordinates instead of an integer pixel bounding box.
* app/tools/gimptransformtool.[ch]: use double instead of int for
all coordinates except the original bounding box.
* app/tools/gimprotatetool.c: use double whenever touching the
"center" value, so it can be sub-pixel positioned.
2002-02-18 Michael Natterer <mitch@gimp.org>
* app/tools/tools-types.h
* app/tools/*.[ch]: chain up unconditionally in control(),
s/ToolAction/GimpToolAction/g, s/ToolState/GimpToolState/g.
* app/tools/gimpbezierselecttool.c
* app/tools/gimpinktool.c
* app/tools/gimppainttool.c: don't touch tool->paused_count
(setting it to 0 was a hack which should no longer be needed).
* app/tools/gimpdrawtool.c: check if the draw tool has actually
been started (draw_tool->gdisp != NULL) before calling it's
draw() function.
* app/tools/tool_manager.c: simplified tool_manager_control_active():
simply call gimp_tool_control() if gdisp == tool->gdisp.
* app/tools/gimptool.[ch]: gimp_tool_control(): do all the PAUSE,
RESUME and HALT voodoo here.
* app/tools/gimppainttool.c: implemented #9902 (Drawing straight
lines does not work between different views). It's an evil hack,
but clearly marked in the source.
2002-02-17 Michael Natterer <mitch@gimp.org>
Fixed#34633 (wheel mouse zooming leaves straigth-line helpline on
image) and maybe some other stuff caused by the misbehaviour
described below:
* app/tools/tools-types.h
* app/tools/tool_manager.c (tool_manager_control_active):
Removed the "PAUSED" ToolState.
The possible state transitions were INACTIVE <-> ACTIVE <-> PAUSED,
where the ACTIVE <-> PAUSED transition was done only in the
tool_manager, causing the tools's control() never to be called
when the tool was INACTIVE.
The GimpPaintTool however wants to draw on the display when it's
INACTIVE, and of course wants to be suspended/resumed correctly
while fiddling with display repainting/scaling/...
The PAUSED state was also redundant information, since
(tool->paused_count > 0) is the same information (only more
correct and independent of tool activity).
* app/display/gimpdisplayshell-scale.[ch]: suspend/resume the
active tool around _all_ changes to the display's "scale" and
"offset" fields. Added new function
gimp_display_shell_scale_by_values() which does that and is called
from all places which need to change these values.
* app/tools/gimpmagnifytool.c: changed accordingly.
Unrelated stuff:
* app/paint/gimpairbrush.c: added a #warning FIXME.
* app/tools/gimpdrawtool.c: made a warning more verbose.
* app/tools/gimppainttool.c: put one more drawable offset
calculation in { .. }, will make a utility function out of it...
2002-02-15 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-handlers.c: added back the handler
which invalidates the display_title on dirty/clean. Removing it
was simply wrong.
* app/display/gimpdisplayshell-scale.c: don't call
gimp_display_shell_update_title() directly but set
shell->title_dirty to TRUE before calling gdisplays_flush().
* app/paint/gimppaintcore.[ch]: added gimp_paint_core_constrain()
which does the "snap to 15 degrees" stuff formerly done in
GimpPaintTool. Call gimp_brush_select_brush() in
gimp_paint_core_paint() if paint_state == MOTION, not in several
other places. Reordered functions, added some comments and
documentation.
* app/paint/gimpairbrush.c
* app/paint/gimpclone.c
* app/paint/gimpconvolve.c
* app/paint/gimpdodgeburn.c
* app/paint/gimperaser.c
* app/paint/gimppaintbrush.c
* app/paint/gimppencil.c
* app/paint/gimpsmudge.c:
s/CORE_CAN_HANDLE_CHANGING_BRUSH/CORE_HANDLES_CHANGING_BRUSH/g,
minor cleanup.
* app/pdb/pdb-types.h: include "paint/paint-types.h"
* app/tools/gimppainttool.[ch]: use gimp_paint_core_constrain(),
removed paint_tool->state because it's not needed any more,
lots of cleanup.
* tools/pdbgen/app.pl: another eeky special case for "paint/".
* tools/pdbgen/pdb/paint_tools.pdb: include stuff from "paint/",
not "tools/".
* app/pdb/paint_tools_cmds.c: regenerated.
2002-02-14 Michael Natterer <mitch@gimp.org>
Core/UI separation for the paint tools:
* configure.in
* app/Makefile.am
* app/paint/.cvsignore
* app/paint/Makefile.am: added new directory for the paint methods
without GUI and tools around them.
* app/paint/paint-types.h: typedefs for this module.
* app/paint/gimppaintcore-kernels.h
* app/paint/gimppaintcore.[ch]: the general paint logic taken
from GimpPaintTool.
* app/paint/gimpairbrush.[ch]
* app/paint/gimpclone.[ch]
* app/paint/gimpconvolve.[ch]
* app/paint/gimpdodgeburn.[ch]
* app/paint/gimperaser.[ch]
* app/paint/gimppaintbrush.[ch]
* app/paint/gimppencil.[ch]
* app/paint/gimpsmudge.[ch]: subclasses of GimpPaintCore,
implementing their own paint() methods. Needs more hacking
to get the GtkWidget pointers out of the options structs.
* app/tools/gimppainttool_kernels.h: removed.
* app/tools/tools-types.h: removed the paint tool enums.
* app/tools/gimpairbrushtool.[ch]
* app/tools/gimpclonetool.[ch]
* app/tools/gimpconvolvetool.[ch]
* app/tools/gimpdodgeburntool.[ch]
* app/tools/gimperasertool.[ch]
* app/tools/gimppaintbrushtool.[ch]
* app/tools/gimppainttool.[ch]
* app/tools/gimppenciltool.[ch]
* app/tools/gimpsmudgetool.[ch]: all paint tools are pure GUI
things now. PaintOptions and friends still need to be chopped up
though...
* app/undo.c: changed PaintUndo to GimpPaintCoreUndo, some minor
cleanup.
* tools/kernelgen.c: changed accordingly.
* tools/pdbgen/Makefile.am: scan paint/paint-types.h for enums.
* tools/pdbgen/pdb/paint_tools.pdb: hardcode "success = FALSE" for
all paint PDB wrappers. The non-gui stuff is completely broken.
More commits to come...
* app/pdb/paint_tools_cmds.c
* tools/pdbgen/enums.pl: regenerated.
2002-02-13 Michael Natterer <mitch@gimp.org>
* app/tools/gimppainttool.[ch]: moved all global variables into
the GimpPaintTool structure so they have a proper lifecycle and
it's easier to move them to the upcoming GimpPaintCore (??)
object.
* app/tools/gimppainttool_kernels.h
* tools/kernelgen.c: s/SUBSAMPLE/KERNEL_SUBSAMPLE/
2002-02-12 Sven Neumann <sven@gimp.org>
* app/base/base-enums.h: renamed GimpInterpolationType values to
something sane and unexported it from the PDB since it was never
used in any PDB calls.
* app/gimprc.c
* app/config/gimpcoreconfig.c
* app/core/gimpcoreconfig.c
* app/core/gimpdrawable-transform.c
* app/core/gimplayer.c
* app/gui/preferences-dialog.c
* app/gui/resize-dialog.c
* app/paint-funcs/paint-funcs.c
* app/pdb/transform_tools_cmds.c
* app/tools/transform_options.c
* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
2002-02-11 Michael Natterer <mitch@gimp.org>
* app/tools/gimpbucketfilltool.c
* app/tools/selection_options.c: added missing tooltips, enabled
"reset" for the new select/fill transparent toggles.
2002-02-10 Michael Natterer <mitch@gimp.org>
* app/undo.c: removed #if 0'ed old display update hackery. Don't
flush the displays here at all and include nothing from
"display/".
* app/undo_history.c
* app/gui/edit-commands.c: call gdisplays_flush() if undo_pop() or
undo_redo() return TRUE.
* app/core/gimpimage-contiguous-region.[ch]: allow a contiguous
transparent region to be selected/filled (#71058).
* app/core/gimpdrawable-bucket-fill.[ch]
* app/core/gimpimage-mask-select.[ch]: take a boolean
fill_transparent/select_transparent parameter and pass it to the
contiguous region funcion.
* app/display/gimpdisplayshell-dnd.c: pass
fill_transparent == FALSE to bucket_fill_full because we fill the
whole drawable anyway here.
* app/tools/gimpbucketfilltool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/selection_options.[ch]: added toggle buttons to the
tool options and pass the value to the fill and select core
functions.
* tools/pdbgen/pdb/misc_tools.pdb
* tools/pdbgen/pdb/selection_tools.pdb: hardcode
"select_transparent" to FALSE to get the old behaviour. Should
export the new feature to plug-ins however.
* app/pdb/misc_tools_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
* app/tools/gimptoolmodule.[ch]: split registering classes and
registering tools into separate functions. Makes tool plug-ins
actually work!
* app/tools/tools.c: replaced extremely ugly temporary hack for
loading tool modules with ugly temporary hack for loading tool
modules.
* app/tools/gimptoolmodule.[ch]: New class that uses GTypeModule to
dynamically load tool plugins. Does not quite work yet, but builds
correctly.
* app/tools/tools.c: added some code to test the GimpToolModule code.
* app/tools/Makefile.am: added gimptoolmodule to the build.
2002-02-07 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-new.[ch]: renamed the image size utility
functions from foo_size_bar() to foo_memsize_bar(), use "gsize"
instead of "gdouble". Also take the selection mask into account
for the initial image size.
* app/display/gimpdisplayshell.c
* app/gui/file-new-dialog.c: changed accordingly.
* app/display/gimpdisplayshell-handlers.c: connect to "undo_event",
not "dirty" and "clean" to dirty the image title.
* app/tools/gimpmovetool.c: factored common code out to
gimp_move_tool_start_guide(), also set a useful cursor there.
2002-02-07 Sven Neumann <sven@gimp.org>
* app/gui/file-new-dialog.c
* app/gui/resize-dialog.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcroptool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c
* app/tools/gimptransformtool.c: moved Cancel button to the left.
* data/images/Makefile.am
* data/images/tips_wilber.png: removed ...
* data/images/wilber-tips.png: ... and readded under a new name.
* app/gui/tips-dialog.c: changed accordingly.
* data/images/wilber-wizard.png: new wilber for the user installation
dialog.
* app/gui/user-install-dialog.c: use the new wilber icon. We still
need a good new eeek wilber.
* themes/Default/gtkrc: don't change the default font size.
2002-02-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpobject.c: made the gimp_object_get_memsize()
debugging output configurable by a global "gimp_debug_memsize"
boolean.
* app/display/gimpdisplay.c: removed duplicated prototype.
* app/display/gimpdisplayshell.[ch]: renamed the various cursor
functions to be more consistent and shorter. Compress window title
updates by adding a "gboolean title_dirty" and updating the title
in gimp_display_shell_flush(). Added "%m" (memory size) to the
possible title string substitutions.
* app/display/gimpdisplay-foreach.c
* app/display/gimpdisplayshell-handlers.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimptool.c: changed accordingly.
* app/display/gimpdisplayshell-callbacks.c: forgot to grab the
pointer when dragging guides from the rulers. Coincidentially,
this also fixes the buggy offset between guide and mouse
pointer...
Cleaned up the main tool event callback a but more.
* app/widgets/gimppreview.c
* app/gui/commands.c: set the new global "gimp_debug_memsize"
toggle to TRUE while calling gimp_object_get_memsize().
* app/gui/preferences-dialog.c: added a image title example
containing the new "%m" feature.
* docs/gimprc-1.3.5.in: document "%m" in the manpage.
* app/tools/gimpbezierselecttool.c: reordered some statements.
* app/tools/gimpdrawtool.[ch]: store the GimpDisplay passed to
gimp_draw_tool_start() in draw_tool->gdisp and use it for
coordinate transfomration. This way we can paint on a display
which is not tool->gdisp.
* app/tools/gimppainttool.c: changed the gimp_draw_tool_foo()
calls needed to make the straight_line preview work in a way
that does not interfere with paint_tool subclasses which want
to do their own drawing (like the clone tool).
Also changed the paint_tools PRETRACE_PAINT and POSTTRACE_PAINT
flags usage in a way that subclasses can use them without major
hackery: don't simply wrap gimp_display_flush_now() with
PRETRACE/POSTTRACE calls, but wrap the actual painting calls, so
subclasses are able to do useful things with paint_tool->*_coords.
* app/tools/gimpclonetool.c: removed poking around in draw_tool
internals and simply suspend()/resume() it in
PRETRACE_PAINT/POSTTRACE_PAINT to get the clone_src indicator
drawn correctly.
2002-02-05 Michael Natterer <mitch@gimp.org>
Removed pointer grabbing from all tools:
* app/tools/gimptool.[ch]: added "gboolean perfectmouse" which
defaults to FALSE but can be set to TRUE in a tool's instance_init
function.
* app/display/gimpdisplayshell-callbacks.c: look at
active_tool->perfectmouse and gimprc.perfectmouse and do the
pointer grab/ungrab here. The pointer is now grabbed right before
dispatching the button_press to the tool and ungrabbed after
the tool's button_release has returned. It is also grabbed
*always*, not only if tool->state got ACTIVE by button_press,
which makes it all much simpler...
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcroptool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpfliptool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimpinktool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimppathtool.c
* app/tools/gimprectselecttool.c
* app/tools/gimpselectiontool.c
* app/tools/gimptexttool.c
* app/tools/gimptransformtool.c: removed
gdk_pointer_grab()/ungrab() calls all over the place. Also removed
inclusion of "display/gimpdisplayshell.h" from most of them.
2002-02-04 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.[ch]: added fields for both the tool's
toggled and untoggled GdkCursorType, GimpToolCursorType and
GimpCursorModifier. Added a default implementation of
gimp_tool_cursor_update() which uses the new fields. Added
gimp_tool_set_cursor() as simple wrapper around the resp.
GimpDisplayShell functions so tools don't need to know them.
Tool implementations can either set the new fields in their
cursor_update() function and chain up or call the new wrapper.
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimpinktool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.[ch]
* app/tools/gimppathtool.c
* app/tools/gimpselectiontool.c
* app/tools/gimpsmudgetool.c
* app/tools/gimptexttool.c
* app/tools/gimptransformtool.c: changed accordingly:
- set default values in the tools' instance_init functions.
- changed the cursor_update() stuff.
- removed inclusion of subclasses in gimppainttool.c
- the cursor_update() functions are better than before but still evil.
- i probably broke some of them...
2002-02-03 Michael Natterer <mitch@gimp.org>
* app/display/Makefile.am
* app/display/display-types.h
* app/display/gimpstatusbar.[ch]: new widget derived from
GtkStatusbar. Contains the coordinates display, a progress bar
which is also used for status message display and a cancel button.
Added a simplified API for pushing/popping messages which takes a
string as context_id and does the conversion to guint internally
on each call.
* app/display/gimpdisplayshell.[ch]: removed the status bar code.
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-scale.c
* app/gui/view-commands.c
* app/gimpprogress.c: changed accordingly.
Removed knowledge about GimpDisplayShell from tools:
* app/tools/gimptool.[ch]: added gimp_tool_push_status() and
gimp_tool_pop_status() so tools don't need to fiddle with
display details.
* app/tools/gimpdrawtool.[ch]: pass a GimpDisplay instead of
a GdkWindow to gimp_draw_tool_start() (the window passed was
always gdisp->shell->canvas->window).
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.[ch]
* app/tools/gimpclonetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcroptool.[ch]
* app/tools/gimpeditselectiontool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.[ch]
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.[ch]
* app/tools/gimppathtool.c
* app/tools/gimprectselecttool.[ch]
* app/tools/gimptransformtool.c: changed accordingly:
- pass GimpDisplay to gimp_draw_tool_start().
- use GimpTool's new status push/pop functions.
- removed the statusbar context_id from all tool structs.
* app/gui/dialogs-constructors.[ch]: a bit cleanup in preparation
of dockable editor dialogs.
2001-12-28 Sven Neumann <sven@gimp.org>
* app/tools/gimpmagnifytool.c: calculate mouse movement in screen
coordinates. Reset threshold to default value when the Reset button
is pressed.
2001-12-20 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.c (text_render): fixed text positioning by
removing a workaround for a bug that has finally been fixed in Pango.
2001-12-18 Michael Natterer <mitch@gimp.org>
* configure.in: added -DGDK_PIXBUF_DISABLE_DEPRECATED to CPPFLAGS.
* app/core/gimpbuffer.[ch]: gimp_buffer_get_[width|height]:
added "const" to the GimpBuffer parameter.
* app/core/gimpchannel.c: indentation and comment changes.
* app/core/gimpdrawable-desaturate.c: don't include
"paint-funcs/paint-funcs.h".
* app/display/gimpdisplayshell.c: don't include "base/temp-buf.h".
* app/gui/gui.c: removed the image container's "name_changed"
handler.
* app/gui/palette-import-dialog.[ch]: use GimpPreview and
GimpContainerMenu instead of doing the same manually. Removed lots
of code. Not perfect yet.
* app/tools/gimpfuzzyselecttool.c: no need to include tile stuff.
* app/widgets/gimpcontainerview-utils.c: better g_warning() message.
* tools/pdbgen/pdb/paint_tools.pdb: don't include
"base/tile-manager.h".
* app/pdb/paint_tools_cmds.c: regenerated.
* data/images/Makefile.am
* data/images/gimp_logo.ppm: removed...
* data/images/gimp_logo.png: ...and added as PNG.
* app/gui/about-dialog.c: use gdk_pixbuf_new_from_file() to load
the PNG logo instead of manually parsing the PPM.
2001-12-14 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.[ch]: added
GIMP_IMAGE_TYPE_IS_[RGB|GRAY|INDEXED]() and
GIMP_IMAGE_TYPE_BASE_TYPE() macros.
* app/plug-in/plug-in.[ch]: new enum PlugInImageType instead of
multiple #defines.
* app/gui/file-dialog-utils.[ch]: file_dialog_update_menus(): take
a GimpImageType instead of the PlugInImageType.
* app/core/gimpdrawable-preview.c
* app/core/gimpdrawable-transform.c
* app/core/gimpdrawable.c
* app/core/gimpimage-contiguous-region.c
* app/core/gimpimage-mask.c
* app/core/gimpimage-merge.c
* app/core/gimplayermask.c
* app/core/gimppalette-import.c
* app/display/gimpdisplay-handlers.c
* app/display/gimpdisplayshell-render.c
* app/gui/file-save-dialog.c
* app/gui/toolbox.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorpickertool.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/image.pdb: use the new macros, cleanups like
storing GimpImageType in GimpImageType variables, not just gint.
* app/pdb/convert_cmds.c
* app/pdb/image_cmds.c: regenerated.
* app/widgets/gimpdialogfactory.c: save the state of the "Auto"
button in sessionrc.
2001-12-12 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpimage-pick-color.[ch]: new files.
gimp_image_pick_color() doesn't set the FG or BG color and doesn't
touch the current palettte.
* app/tools/gimpcolorpickertool.[ch]: removed the actual picking
code, set the user_context's FG or BG color here.
* app/gui/palette-editor.[ch]:
s/palette_set_active_color/palette_editor_update_color/, don't set
the FG and BG color here. The function is still #if 0'ed.
* app/gui/toolbox.c: fixed WM resize hints in toolbox_style_set(),
code cleanup.
* app/tools/gimppainttool.[ch]: some cleanup before chopping.
* app/tools/gimpsmudgetool.c: changed accordingly.
* tools/pdbgen/pdb/misc_tools.pdb: removed the possibility to set
the FG or BG color or add the picked color to the active palette
bacause it doesn't belong here. Palette PDB wrappers are on the
TODO anyway.
* app/pdb/misc_tools_cmds.c
* libgimp/gimpmisctools_pdb.[ch]: regenerated.
* plug-ins/perl/examples/image_tile
* plug-ins/perl/examples/logulator
* plug-ins/script-fu/scripts/hsv-graph.scm
* plug-ins/script-fu/scripts/title-header.scm: changed accordingly.
2001-12-08 Sven Neumann <sven@gimp.org>
* tools/pdbgen/enumgen.pl: introduced new trigraph keyword
/*< pdb-skip >*/ used to skip enums for inclusion in libgimp when
parsing headers. The keyword /*< skip >*/ is still used to skip
enum values. This change is necessary since glib-mkenums also uses
/*< skip >*/.
* app/base/base-types.h * app/base/base-enums.h: moved
GimpCheckType and GimpCheckSize to base-enums.h so they get
registered with the type system, marked them as /*< pdb-skip >*/.
* app/core/core-types.h * app/display/display-types.h *
app/paint-funcs/paint-funcs-types.h * app/tools/gimppainttool.h *
app/tools/tools-types.h: changed /*< skip >*/ to /*< pdb-skip >*/.
2001-12-08 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/core-enums.h: new file that holds enums that are registered
with the type system and is used to generate core-enums.c.
* app/core/core-types.h: include core-enums.h
* app/base/base-types.h: namespace cleanup. Prefix all enumeration
types with Gimp and their values with GIMP. Moved GimpLayerModeEffects
enum ...
* app/base/base-enums.h: ... here.
* app/image_map.c
* app/base/temp-buf.c
* app/core/gimpcontext.[ch]
* app/core/gimpdrawable-transform.c
* app/core/gimpdrawable.c
* app/core/gimpedit.c
* app/core/gimpimage-mask.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-new.c
* app/core/gimpimage-projection.c
* app/core/gimpimage.[ch]
* app/core/gimplayer.[ch]
* app/display/gimpdisplayshell-dnd.c
* app/display/gimpdisplayshell-render.c
* app/gui/brush-select.c
* app/gui/layers-commands.c
* app/gui/preferences-dialog.c
* app/gui/toolbox.c
* app/paint-funcs/paint-funcs.[ch]
* app/tools/gimpconvolvetool.c
* app/tools/gimperasertool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimppainttool.[ch]
* app/tools/gimptexttool.c
* app/tools/paint_options.c
* app/widgets/gimplayerlistview.c
* app/widgets/gimpwidgets-constructors.[ch]
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/tools.pdb: changed accordingly.
* libgimpbase/gimpbasetypes.h: no need to chop GIMP prefix off the
enums any longer.
* app/pdb/brush_select_cmds.c
* app/pdb/brushes_cmds.c
* app/pdb/color_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/message_cmds.c
* app/pdb/procedural_db_cmds.c
* app/pdb/tools_cmds.c
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
* app/gimprc.c: removed code to parse for "plug_in" keyword which was
left over from some very early gimp days.
* app/plug-in/plug-in.[ch]: removed now unused function plug_in_add().
2001-12-07 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/devices.[ch]: removed, chopped...
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/gui/Makefile.am
* app/widgets/gimpdeviceinfo.[ch]
* app/widgets/gimpdevices.[ch]
* app/gui/device-status-dialog.[ch]
* app/gui/input-dialog.[ch]: ...and added here.
Made GimpToolInfo a GimpContext subclass. Create a GimpDeviceManager
struct in gimpdevices.c and attach it to the Gimp instance.
* app/core/gimp.[ch]: removed gimp_create_context(). It was a bad
idea in the first place beause it prevented GimpContext subclasses
from being be properly registered with their Gimp instance.
* app/core/gimpcontext.c: moved the stuff which used to be in
gimp_create_context() back here. Added a "gimp" property which
must be set on construction. Added a "dispose" implementation
which removes the context from it's Gimp's context_list.
* app/gimprc.c
* app/core/gimptoolinfo.[ch]
* app/display/gimpdisplayshell-callbacks.c
* app/gui/brush-select.c
* app/gui/dialogs-constructors.c
* app/gui/gradient-editor.c
* app/gui/gradient-select.c
* app/gui/gui.c
* app/gui/menus.c
* app/gui/palette-editor.c
* app/gui/palette-select.c
* app/gui/pattern-select.c
* app/gui/toolbox.c
* app/tools/gimppainttool.c
* app/tools/tool_manager.c
* app/widgets/gimpimagedock.c: changed accordingly.
* app/gui/tools-commands.[ch]: made all callback signatures
the same.
* app/gui/preferences-dialog.c: cleaned up the
display_format_string GtkCombo code.
2001-12-03 Michael Natterer <mitch@gimp.org>
* app/devices.c: use the passed Gimp pointer instead of
using "the_gimp".
* app/base/temp-buf.c: indentation.
* app/gui/preferences-dialog.c: prefs_toggle_callback(): fixed
segfault when trying to find the prefs_dlg widget from a menu
item callback (Fixes#65757).
* app/gui/offset-dialog.[ch]: fixed public prototype, include
the header in the .c file.
* app/gui/menus.c: some menu cleanup: moved all functions which
operate on the active layer/drawable to <Image>/Layer. Renamed
"Layers" to "Layer".
* app/display/gimpdisplayshell.c: changed menu update function
accordingly.
* app/gui/image-commands.[ch]
* app/gui/layers-commands.[ch]: moved stuff from image-commands.*
to layers-commads.*-
* app/tools/gimpblendtool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c
* app/tools/paint_options.c
* app/tools/transform_options.c
* plug-ins/common/align_layers.c
* plug-ins/common/autocrop.c
* plug-ins/common/autostretch_hsv.c
* plug-ins/common/c_astretch.c
* plug-ins/common/color_enhance.c
* plug-ins/common/guillotine.c
* plug-ins/common/normalize.c
* plug-ins/common/rotate.c
* plug-ins/common/threshold_alpha.c
* plug-ins/common/zealouscrop.c
* plug-ins/rcm/rcm.c
* plug-ins/fp/fp.c: register under <Image>/Layer, some cosmetic
fixes.
2001-12-03 Sven Neumann <sven@gimp.org>
Michael Natterer <mitch@gimp.org>
* app/paint-funcs/paint-funcs-mmx.h: removed redefiniton of HAS_ALPHA
macro.
* app/core/gimp.c: reverted Daniel's change; it doesn't make the code
simpler, only more error-prone.
* app/gui/info-dialog.h
* app/gui/resize-dialog.h
* app/core/gimp.h
* app/core/gimpbrushgenerated.h
* app/core/gimpbrushpipe.h
* app/core/gimpchannel.[ch]
* app/core/gimpcontainer.h
* app/core/gimpcoreconfig.h
* app/core/gimpdata.h
* app/core/gimpdatafactory.[ch]
* app/core/gimpdrawable-blend.c
* app/core/gimpdrawable.[ch]
* app/core/gimpimage.h
* app/core/gimpimagefile.h
* app/core/gimplayer.h
* app/core/gimplayermask.h
* app/core/gimpmoduleinfo.h
* app/core/gimppalette.h
* app/core/gimpundo.h
* app/widgets/gimpbrushfactoryview.h
* app/widgets/gimpconstrainedhwrapbox.h
* app/widgets/gimpcontainermenu.h
* app/widgets/gimpcontainerview.h
* app/widgets/gimpdialogfactory.h
* app/widgets/gimpimagedock.h
* app/widgets/gimplistitem.h
* app/widgets/gimpmenuitem.h
* app/widgets/gimpnavigationpreview.h
* app/widgets/gimppreview.h
* app/gimprc.h
* app/pathP.h
* app/tools/gimpbezierselecttool.h
* app/tools/gimpcolorbalancetool.h
* app/tools/gimpcurvestool.h
* app/tools/gimpdodgeburntool.c
* app/tools/gimpfreeselecttool.h
* app/tools/gimphuesaturationtool.h
* app/tools/gimpinktool-blob.h
* app/tools/gimpinktool.h
* app/tools/gimpiscissorstool.h
* app/tools/gimpmagnifytool.h
* app/tools/gimpmeasuretool.h
* app/tools/gimppainttool.h
* app/tools/gimppathtool.h
* app/tools/gimprectselecttool.h
* app/tools/gimpthresholdtool.h
* app/tools/gimptool.h
* app/tools/gimptransformtool.h
* app/base/base-config.h
* app/base/gimplut.[ch]
* app/base/pixel-region.h
* app/base/pixel-surround.[ch]
* app/base/temp-buf.[ch]
* app/base/tile-manager-private.h
* app/base/tile-manager.[ch]
* app/base/tile-private.h
* app/base/tile.[ch]
* app/display/gimpdisplay.h
* app/display/gimpdisplayshell-selection.h
* app/display/gimpdisplayshell.h
* app/gui/brush-select.h
* app/gui/gradient-editor.h
* app/gui/gradient-select.h: reverted most of Daniel's changes.
There's no reason to use unsigned integers here and in lots of places
it is even wrong.
Then it's way too early to convert gbooleans into bitfields. This
change may make sense in a few places but can happen later when the
API has settled and the code is more stable.
* app/gimprc.c: reverted Daniel's change. This is a GCC-ism and this
code is about to die soon anyway.
2001-12-01 Michael Natterer <mitch@gimp.org>
* app/errors.c: forgot a "return".
* app/gui/error-console-dialog.c: the menu item signals were
connected "swapped", which is wrong.
* app/tools/gimperasertool.c: added a cursor_update_func(), update
the "toggled" state there and chain up. Fixes wrong cursor
updating.
Made brush_pipe slection work again, removed the #warnings:
* app/core/gimpbrush.[ch]
* app/core/gimpbrushpipe.c: changed brush_class->select_brush()
and brush_class->want_null_motion() to be proper virtual
functions. Pass last_coords and cur_coords to them.
* app/tools/gimppainttool.c: call the functions again.
2001-12-01 Michael Natterer <mitch@gimp.org>
* app/main.c
* app/appenv.h: moved "message_handler" from here...
* app/core/gimp.[ch]: ...to here. Added gimp_message() and a
"gui_message_func" pointer...
* app/gui/gui.c: ...which gets set here to gui_message().
* app/errors.c: don't include any gui stuff but simply call
gimp_message().
* app/app_procs.c: don't set "message_handler" here, it's done in
gui.c now.
* app/gui/error-console-dialog.[ch]: use gimp->message_handler.
* app/gui/dialogs-constructors.c: pass a Gimp pointer to
error_console_create().
* app/widgets/gimpwidgets-utils.[ch]: made the "message" parameter
of gimp_message_box() a const gchar*, not just gchar*.
* tools/pdbgen/pdb/message.pdb: use gimp->message_handler, don't
include "appenv.h".
* app/pdb/message_cmds.c: regenerated.
* app/devices.[ch]: cleanup before chopping: removed global
variable "current_device", added devices_get_current(), pass lots
of Gimp pointers around.
* app/gimprc.c: pass a Gimp pointer to devices_rc_update().
* app/display/gimpdisplayshell-callbacks.c
* app/gui/toolbox.c
* app/tools/gimppainttool.c: use devices_get_current(), pass Gimp
pointers to all devices_foo() functions.
* app/core/gimpimage-mask.c: no need to include "pdb/pdb-types.h".
2001-11-30 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/plug_in.[ch]: removed...
* app/plug-in/Makefile.am
* app/plug-in/plug-in-types.h
* app/plug-in/plug-in.[ch]: ...and added here.
* app/appenv.h: removed StackTraceMode and MessageHandlerType...
* libgimpbase/gimpbasetypes.h: ...and added them here.
* tools/pdbgen/Makefile.am: don't scan "app/apptypes.h" for enums.
* tools/pdbgen/enumcode.pl: added a general check to prevent
enums which are defined in libgimp* from being written to
"libgimp/gimpenums.c".
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
* app/core/core-types.h: include "pdb/pdb-types.h" so including
"core/core-types.h" gets the whole core type space.
* app/core/gimp.[ch]: added a "stack_trace_mode" parameter to the
constructor and store it in the Gimp struct because the value is
also passed to plug-ins and nobody should include "appenv.h".
* app/gimprc.[ch]: pass the alternate_system_gimprc and
alternate_gimprc filenames from the command line to gimprc_prase()
so we don't need to include "appenv.h".
* app/batch.[ch]: pass the "batch_cmds" as parameter, don't
include "append.h".
* app/app_procs.c: pass more parameters around.
* app/devices.c
* app/errors.c
* app/gimphelp.c
* app/main.c
* app/core/gimpgradient.c
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell.c
* app/file/file-open.c
* app/file/file-save.c
* app/file/file-utils.c
* app/gui/commands.c
* app/gui/error-console-dialog.c
* app/gui/file-dialog-utils.c
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/paths-dialog.c
* app/gui/user-install-dialog.c
* app/tools/gimpbezierselecttool.c
* app/tools/xinput_airbrush.c
* app/xcf/xcf.c
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/help.pdb
* tools/pdbgen/pdb/message.pdb
* tools/pdbgen/pdb/plug_in.pdb: changed accordingly:
- changed "plug-in.h" include where needed.
- don't call gimp_fatal_error() directly, it's called via the log
handler when calling g_error().
- don't incude "errors.h" except from main.c.
- changed stack_trace and message_handler enum names.
- get "stack_trace_mode" from Gimp.
- removed many inclusions of "appenv.h".
* app/pdb/fileops_cmds.c
* app/pdb/help_cmds.c
* app/pdb/message_cmds.c
* app/pdb/plug_in_cmds.c
* app/pdb/procedural_db.c: regenerated.
2001-11-30 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/colormaps.[ch]: removed.
* app/app_procs.c: don't call it.
* app/gui/gui.c: configure GdkRGB here.
* app/display/gimpdisplayshell.c
* app/display/gximage.c
* app/gui/color-notebook.c
* app/gui/color-select.c
* app/gui/colormap-dialog.c
* app/gui/info-window.c
* app/gui/preferences-dialog.c
* app/tools/gimpmovetool.c
* app/display/gimpdisplayshell-selection.c: changed accordingly
(simply removed the unneded include or use
gdk_gc_set_rgb_[fg|bg]_color() instead).
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-callbacks.[ch]: chopped
gimp_display_shell_canvas_events() in smaller callbacks. Only the
events that trigger tool actions are handled in a single callback.
2001-11-29 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.[ch]: replaced the QMask radio
buttons ba a single check button. Still needs some tuning.
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-qmask.[ch]: changed accordingly.
* app/tools/gimptool.[ch]: added "gboolean handle_empty_image" to
the GimpTool structure.
* app/tools/gimpmovetool.c: set it to TRUE.
* app/tools/gimpfuzzyselecttool.c: don't gimp_[set|unset]_busy()
while calculating the selection but set the busy cursor on the
display manually (we have the pointer grabbed anyway).
* app/display/gimpdisplayshell-callbacks.c: don't check for
GIMP_IS_MODE_TOOL(active_tool) but look at
active_tool->handle_empty_image. Removed the checks for
GIMP_IS_FUZZY_SELECT_TOOL(active_tool) because fuzzy_select
doesn't set GIMP busy while it's active any more.
* app/tools/transform_options.[ch]
* app/tools/gimptransformtool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c: added widgets for the transform tools'
constraints (one more #51108 issue fixed).
* app/tools/gimperasertool.c: cosmetic.
* app/widgets/gimpdockbook.c: don't hardcode GtkNotebook's
tab_border to 0 but add a style property for it...
* themes/Default/gtkrc: ...and set it to 0 here.
2001-11-28 Michael Natterer <mitch@gimp.org>
* app/base/base-types.h: include the new
"paint-funcs/paint-funcs-types.h".
* app/paint-funcs/Makefile.am
* app/paint-funcs/paint-funcs-types.h: new file. Includes
"base/base-types.h".
* app/paint-funcs/paint-funcs.[ch]: removed the enums here,
include "paint-funcs-types.h".
* app/widgets/widgets-types.h: include "display/display-types.h"
* app/display/display-types.h: include "widgets/widgets-types.h".
* app/tools/tools-types.h: include "display/display-types.h"
* app/gui/gui-types.h: include "tools/tools-types.h".
The order of namespaces/dependencies should be (but is not):
(base, paint-funcs) -> (core, file, xcf, pdb) ->
(widgets, display) -> tools -> gui
* app/path.c: include "tools/tools-types.h".
* app/core/Makefile.am
* app/core/gimpimage-guides.[ch]
* app/core/gimpimage-merge.[ch]
* app/core/gimpimage-resize.[ch]
* app/core/gimpimage-scale.[ch]: new files.
* app/core/gimpimage.[ch]: removed the stuff which is in the new
files. Reordered all functions in both the .h and .c files,
commented the groups of functions.
* app/core/gimpcontainer.c: create the handler_id using a counter,
not the address of a pointer, because the address *may* be the
same twice, added debugging output.
* app/core/gimpviewable.[ch]: added primitive support for getting
a preview GdkPixbuf.
* app/nav_window.c
* app/undo.c
* app/undo_history.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-mask.[ch]
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-dnd.c
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-scroll.c
* app/gui/image-commands.c
* app/gui/info-window.c
* app/gui/layers-commands.c
* app/gui/palette-import-dialog.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/widgets/gimpcontainerview-utils.c
* app/xcf/xcf-load.c: changed accordingly, some cleanup.
* tools/pdbgen/pdb/guides.pdb
* tools/pdbgen/pdb/image.pdb: changed accordingly, reordered functions.
* app/plug_in.c: set the labels of the "Repeat" and "Re-Show" menu
items to the name of the last plug-in (Fixes#50986).
* app/display/gimpdisplayshell.[ch]: set the labels of "Undo" and
"Redo" to the resp. undo names. Much simplified the WM icon stuff
by removing most code and using gimp_viewable_get_new_preview_pixbuf().
* app/widgets/gimpbrushfactoryview.c: forgot to assign the GQuark
returned by gimp_container_add_handler().
* app/pdb/guides_cmds.c
* app/pdb/image_cmds.c
* libgimp/gimpimage_pdb.[ch]: regenerated.
2001-11-28 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpimage-projection.[ch]: new files. Changed function
names to be consistent.
* app/core/gimpimage.[ch]: removed the projection stuff
here. Removed the gimp_image_composite_blah() functions becauee
they were just calling the resp. gimp_image_projection ones.
* app/core/gimpimage-contiguous-region.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-crop.c
* app/core/gimppalette-import.c
* app/undo.c
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell-render.c
* app/gui/info-window.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpiscissorstool.c: changed accordingly.
2001-11-26 Michael Natterer <mitch@gimp.org>
* tools/authorsgen/contributors: added Rebecca Walter (bex).
* AUTHORS
* app/gui/authors.h: regenerated.
* app/widgets/widgets-types.h: added GimpPreviewSize enum.
* app/gimprc.c
* app/gui/menus.c
* app/gui/preferences-dialog.c
* app/widgets/gimpdockbook.c: use the new enum.
* app/tools/gimpbucketfilltool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimpmagnifytool.c: added "(<Ctrl>)" and "(<Alt>)" to
some tool options strings.
* app/tools/gimpmovetool.c: some more widgets for hidden tool
options (#51108).
* app/tools/transform_options.c: renamed to "Tool Paradigm" stuff
to something more understandable.
* app/widgets/gimpdock.c: added a style property for the height
of the separator.
* themes/Default/gtkrc: show how to use the new property.
* app/widgets/gimpcontainerview.c
* app/widgets/gimpdockable.c
* app/widgets/gimplayerlistview.c: waste less lines when calling
gtk_widget_style_get().