1999-10-16 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/menus.c: made the "Dialogs" sub-menus of <Toolbox>/File and
<Image> consistent.
* app/nav_window.c: wheelmouse support as in the gdisplay shell.
Wed Oct 6 23:29:53 BST 1999 Andy Thomas <alt@gimp.org>
* app/palette.c
Another attemp at fixing the palette dialog.
The number of columns are now fixed at sixteen (which
means the nicely layed out palettes will be OK).
Expanding the dialog causes the width of the cells to change
where as the +/- buttons cause the height of the cells to change.
* libgimp/color_display.h
* app/gdisplay.c: add bpl param for convert func
* gdisplay_color.c: guard against head and tail cases in reorders
* app/gdisplay_color_ui.c: expose_full on all actions, so there is
immediate feedback. Check for no selection and do nothing on actions
* app/path_tool.c: #warning is not portable; change to /* XXX: */
* modules/cdisplay_gamma.c: make it so it actually works properly
-Yosh
* app/app_procs.c
* app/gdisplay_color.[ch]
* app/gdisplay_color_ui.c: make the ui usable
* app/gdisplay.c: enable cdisplay support
* modules/Makefile.am
* modules/cdisplay_gamma.c: moved gamma functionality to separate
-Yosh
1999-10-03 Michael Natterer <mitch@gimp.org>
* app/fileops.c
* app/menus.[ch]
* app/menus.h
* app/plug_in.c: show a help page for all menu entries registered
by plugins.
Changed menus_create() to menus_create_item_from_full_path() which
takes a single GimpItemFactoryEntry instead of an array as
parameter.
1999-10-03 Michael Natterer <mitch@gimp.org>
The GIMP Help System part II: press "F1" while browsing a menu
to show the help page for the menu entry you're currently over
with the mouse.
* app/color_notebook.c: all color selectors have to register with
a help page now.
* app/color_select.[ch]: register with a help string. Removed
the dialog part of the files because it's use was deprecated
anyway (use color notebooks instead).
* app/colormap_dialog.i.c
* app/colormap_dialog.p.h
* app/palette.c
* app/palette_select.c: use a color notebook instead of a color
selector.
* app/gimphelp.c
* app/gimpui.c: minor changes.
* app/gimprc.c: "use help" defaults to TRUE now.
* app/lc_dialog.c
* app/lc_dialogP.h: a special help function which shows the help
for the currently selected notebook page.
* app/menus.c: some weird code which catches "key_press_event"
in all menu shells and pops up the corresp. help page for the
selected item. Embedded the GtkItemFactoryEntry in a new
GimpItemFactoryEntry to allow a help path to be stored.
Will be partially exported and moved to gimphelp.[ch] later to
catch key_press for plug-in menu items (don't try this now ;-)
* app/app_procs.c
* app/brush_edit.c
* app/brush_select.c
* app/channel_ops.c
* app/channels_dialog.c
* app/commands.c
* app/convert.c
* app/devices.c
* app/file_new_dialog.c
* app/fileops.c
* app/gdisplay.c
* app/gdisplay_color.c
* app/gdisplay_color_ui.c
* app/gdisplay_ops.c
* app/global_edit.c
* app/gradient.c
* app/gradient_select.c
* app/interface.c
* app/layers_dialog.c
* app/module_db.c
* app/paths_dialog.c
* app/pattern_select.c
* app/preferences_dialog.c
* app/qmask.c
* app/resize.c
* app/undo_history.c: changed all dialog constructors to point
to the right place in the new help file structure.
* configure.in
* help/*: the basic new help file structure.
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: register a help page.
* plug-ins/helpbrowser/helpbrowser.c: load the help files
according to the new help file structure.
1999-10-03 Tor Lillqvist <tml@iki.fi>
* app/cursorutil.h app/session.c app/text_tool.c: Change the
GDK_WINDOWING_* stuff to be buildable with current CVS gtk+ (not
recommended for X11, but necessary for Win32).
* libgimp/gimp.c: Undef RGB from <windows.h> on Win32.
* app/makefile.{cygwin,msc} libgimp/makefile.{cygwin,msc} *
plug-ins/makefile.{cygwin,msc}: Add new files. Small changes for
current gtk+.
* plug-ins/common/animationplay.c: Win32 kludges.
Wed Sep 29 21:56:52 BST 1999 Andy Thomas <alt@gimp.org>
* app/colourmap_dialog.i.c
* app/gdisplay_ops.c
* app/palette.c
1) Index palette dialog now registered so it gets hidden/shown when
the "TAB key" is pressed in the canvas window.
2) When the index palette is modified the changes are now shown
immediately in all views.
3) DND now works in the index palette.
4) OK button when modifying a colour in the index palette
dismisses the dialog correctly.
5) DND in the colour palette viewer does not crash when no colours
are selected.
6) Corrected a problem with "New View". If your canvas is zoomed in
and the image is offset in the display and a new view is requested
the Canvas in the new view is corrupted. This bug is also in
gimp 1.0.x
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
* app/gtkhwrapbox.[ch]
* app/gtkwrapbox.[ch]: sync from gle
* app/inteface.c: set allow_shrink on the toolbox window, use
gtk_hwrap_box_new
* app/blend.c: use shift to constrain to 45 deg: XachCode (tm)
-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
Mon Aug 30 22:15:29 MEST 1999 Sven Neumann <sven@gimp.org>
* app/devices.c: use the new [gimp|pattern]_preview_widgets.
* plug-ins/xjt/xjt.c: correct a gccism
--Sven
* app/brush_edit.[ch]: Allow the user to change a brush's name.
* app/gimpbrushlist.[ch] * app/gimprc.[ch]: ported Calvin
Williamson's brush saving code from the hollywood branch.
* app/preferences_dialog.c: add the brush_vbr_path
* data/brushes/round1.vbr: removed. You should remove this file
from your system if you have installed previous versions.
1999-08-27 Tor Lillqvist <tml@iki.fi>
* app/menus.c: Add Acquire under the File menu.
* plug-ins/twain: New (Windows-only) plug-in. Interface to TWAIN
image sources. Written by Craig Setera.
* plug-ins/Makefile.am: Add twain sources to EXTRA_DIST.
* plug-ins/makefile.{cygwin,msc}: Move gimpressionist and twain
around as they are in this directory now.
* plug-ins/common/screenshot.c
* plug-ins/winsnap/winsnap.c
* plug-ins/twain/twain.c: Put them under File/Acquire.
1999-08-24 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/color_panel.[ch]: new function color_panel_set_color().
* app/color_picker.c: added a color panel to the color picker info
dialog and a toggle button to the color picker's tool options
which allows color updates to be effective in the info dialog
only.
* app/info_dialog.[ch]: changed the packing parameters of the info
table. Small fixes.
* app/palette.c: the name created for dropped colors contained " "
instead of "0".
1999-08-24 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/channels_dialog.c
* app/color_area.c
* app/color_panel.c
* app/color_select.c
* app/disp_callbacks.[ch]
* app/gimpdnd.[ch]: pass the widget to the color dnd callbacks.
* app/palette.c: color dnd for the palette dialog. Shift+click
toggles setting the FG/BG color now.
Mon Aug 23 23:25:05 BST 1999 Andy Thomas <alt@gimp.org>
* app/menus.c
* app/nav_window.c
Nav window code now handles boundary conditions correctly (ie
you can scroll to the edges of the image now).
It also has some key bindings:-
1) Arrow keys work as expected
2) =/- keys perform zoomin/zoomout. Note these keys are hardcoded
at present until (if) I find away of finding out how to get the
current accel. keys for these functions.
3) Space will raise the display window to the top of the window stack.
It also updates the preview. This will be changed to happen
automatically RSN.
Tearoff menus are now popped up and down (like other dialogs) when
the tab key is pressed in the image window.
1999-08-23 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/bucket_fill.[ch]: export bucket_fill_region().
* app/channels_dialog.c: enabled dropping a color to a channel.
* app/color_area.c
* app/color_panel.c
* app/gimpdnd.[ch]: the whole color dnd is now done in a generic
function in gimpdnd.c (dnd of other types is still hacked in at
various places but will go to generic functions and callbacks as
well).
* app/disp_callbacks.[ch]
* app/interface.c: drop a color to the display to bucket fill the
selected region.
1999-08-22 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/color_area.[ch]
* app/color_panel.[ch]
* app/gimpdnd.[ch]: enabled dnd for colors (compatible with the
standard gtk/gnome color dnd). The color selection is now invoked
on a real click, not on button_down to avoid confusion with dnd.
* app/channels_dialog.c
* app/disp_callbacks.c
* app/interface.c
* app/layers_dialog.c: minor dnd updates/fixes.
* app/channel.[ch]
* app/channel_pvt.h
* app/docindex.[ch]
* app/docindexif.[ch]
* app/drawable.[ch]
* app/floating_sel.c
* app/gimage.[ch]
* app/gimage_mask.c
* app/gimpdrawable.[ch]
* app/gimpdrawableP.h
* app/gimpimage.[ch]
* app/gimpimageP.h
* app/layer.[ch]
* app/layer_pvt.h
* app/undo.c
* app/xcf.c: wanted to do some s/int/gboolean/ in the layer files
where appropriate and found myself spending the whole night doing
a big code review for layers/channels/drawables/images:
s/int/gboolean/, s/<type>/g<type>/, lots of indentation, removed
some old global variables and deprecated functions, #include
cleanups, proper prototypes, copyright headers, ...
* 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.
* app/*.[ch]: Actually use the enum types GimpImageType,
GimpImageBaseType, LayerModeEffects, PaintApplicationMode,
BrushApplicationMode, GimpFillType and ConvertPaletteType, instead
of just int or gint. Hopefully I catched most of the places
where these should be used.
Add an enum ConvolutionType, suffix the too general constants
NORMAL, ABSOLUTE and NEGATIVE with _CONVOL. Use NORMAL_MODE
instead of NORMAL in some places (this was what was intended). Fix
some minor gccisms.
* app/apptypes.h: New file. This file contains the above
enumeration types, and some opaque struct typedefs. It was
necessary to collect these in one header that doesn't include
other headers, because when we started using the above mentioned
types in the headers, all hell broke loose because of the
spaghetti-like cross-inclusion mess between headers.
(An example: Header A includes header B, which includes header C
which includes A. B uses a type defined in A. This is not defined,
because A hasn't defined it yet at the point where it includes B,
and A included from B of course is skipped as we already are
reading A.)
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.
* app/appenv.h: Define ROUND(), RINT(), SQR(), G_PI and
G_PI_4. The latter two will presumably eventually be in
GLib. RINT() calls rint() if we have it, otherwise adds 0.5 and
calls floor().
* app/*.c: Remove the multiple identical definitions of M_PI. Use
G_PI instead of M_PI. Remove ROUND() and rint() definitions. Use
RINT() instead of rint().
* app/clone.c: more cursor support.
* app/cursorutil.[ch], cursors/{bad,badmsk}: new cursor
* app/paint_core.c: fix that rounding error the right way this time.
* app/pixel_processor.c, app/pixel_region.c: Lock the tiles while
they are being processed. Only create new threads if the region
being processed is large enough to warrant it.
1999-07-24 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/brush_select.c
* app/pattern_select.c
* app/gradient.c: wheelmouse support for the brush/pattern lists
and for the gradient preview.
1999-07-24 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/color_picker.[ch]: set the "preserve" flag to FALSE. This
way the tool doesn't have to detect drawable changes by itself.
Misc stuff like below.
* app/gradient.c: heavily changed the beast:
- Reviewed the whole ui code and indented it.
- Standard ui for all sub-dialogs.
- Handle the wm delete event of the sub-dialogs.
- "+" and "-" pixmaps instead of "zoom in" and "zoom out".
- Made the gradient preview resizable again.
- i18n fixes.
- Removed some code duplication in the sub-dialogs' cancel/delete
callbacks.
- Grouped functions together and commented the groups and their
prototypes.
- Didn't change any core functionality (just the ui).
- Please don't kill me, but I couldn't resist to indent most
functions ;-)
* app/info_dialog.c: no need to call gettext() on a string which
was passed to a function (it's the job of the caller).
* app/ink.c: grab the pointer in the blob preview.
* app/palette.c: standardized the ui of the dialog and all it's
sub-dialogs, function header indentation, namespace cleanup.
1999-07-22 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/brightness_contrast.c: same cleanups as in my previous
checkin.
* app/gradient.c: made the gradient editor look like the other
dialogs. It's now possible to set the background color with
<Ctrl>+click. Indentation madness in all functions I modified.
1999-07-22 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/channel_ops.[ch]: new ui for the "Layer Offset" dialog.
* app/channels_dialog.c
* app/layers_dialog.c: major code cleanup: Folded some callbacks
into common ones, "widget" instead of "w", indentation, ...
* app/commands.c
* app/interface.[ch]
* app/global_edit.c: the query boxes must be shown by the caller
now. There's no need to split up the string for the message box
manually as the Gtk 1.2 label widget handles newlines corectly.
Added the "edge_lock" toggle to the "Shrink Selection" dialog.
Nicer spacings for the query and message boxes.
* app/ink.c: tried to grab the pointer in the blob preview but
failed. Left the code there as a reminder (commented out).
* app/menus.c: reordered <Image>/Select.
I was bored and grep-ed the sources for ancient or deprecated stuff:
* app/about_dialog.[ch]
* app/actionarea.[ch]
* app/app_procs.c
* app/brush_edit.c
* app/brush_select.c
* app/color_select.c
* app/convert.c
* app/devices.c
* app/gdisplay.c
* app/gdisplay_ops.c
* app/histogram_tool.[ch]
* app/info_window.c
* app/install.c
* app/ops_buttons.c
* app/palette.c
* app/palette_select.c
* app/paths_dialog.c
* app/pattern_select.c
* app/resize.c
* app/scale_toolc.c
* app/text_tool.c:
s/container_border_width/container_set_border_width/g,
s/sprintf/g_snprintf/g, replaced some constant string lengths with
strlen(x).
* app/bezier_select.c
* app/blend.c
* app/boundary.c
* app/errors.[ch]
* app/free_select.c
* app/gimpbrushlist.c
* app/gimprc.c
* app/iscissors.c
* app/main.c
* app/patterns.[ch]
* app/text_tool.c: namespace fanaticism: prefixed all gimp error
functions with "gimp_" and formated the messages more uniformly.
* app/gradient.c
* app/gradient_select.c: same stuff as above for the ui
code. There are still some sub-dialogs which need cleanup.
Did some cleanup in most of these files: prototypes, removed tons
of #include's, i18n fixes, s/w/widget/ as above, indentation, ...
Mon Jul 19 23:40:56 BST 1999 Andy Thomas <alt@gimp.org>
* app/indicator_area.c
* app/paths_dialog.c
* app/tools_cmds.c
* app/airbrush.c
* app/airbrush.h
* app/bezier_select.c
* app/paintbrush.c
* app/paintbrush.h
* app/clone.c
* app/clone.h
* app/eraser.c
* app/eraser.h
* app/convolve.c
* app/convolve.h
* app/smudge.c
* app/smudge.h
* app/dodgeburn.c
* app/dodgeburn.h
* app/internal_procs.c
* plug-ins/sel2path/sel2path.c
* tools/pdbgen/pdb/tools.pdb
* tools/pdbgen/enums.pl
1) Fixed the brushpreview popup problem where it remained onscreen
if the mouse button was released in another GTK window that accepted
mouse events.
2) Selection to path now works on all types of images (it should have
anyway).
3) Fixed PDB so you can once again use the PDB interfaces to the clone
and airbrush tools.
4) PDB Function to add a path to an image now adds it correctly.
5) airbrush/paintbrush/clone/eraser/convolve New PDB functions that
use the options dialogs settings (or sane defaults if option dialog
not present)
6) Added PDB functions for Smudge & DodgeBurn tools.
7) Path stroke command (from the LCP dialog) can now use any of the
painting tools (airbrush/paintbrush/clone/eraser/convolve/smudge/
dodgeburn except ink). Just have the tool selected when you
press the stroke button.
* app/makefile.cygwin
* app/makefile.msc
* plug-ins/makefile.cygwin
* plug-ins/makefile.msc
* modules/makefile.cygwin
* modules/makefile.msc
* tools/gcg/makefile.cygwin: Various updates. GCC-compiled DLL
name change.
* app/context_manager.c: Include paint_options.h for prototype.
* app/gimpimage.c (gimp_image_initialize_projection): Break out of
loop as soon as possible.
* app/menus.c (menus_last_opened_cmd_callback): Check if referring
to entry not in list.
* app/module_db.c (valid_module_name): (Win32) Require module DLL
names to include name of compiler built with.
* app/paths_dialog.c (paths_draw_segment_points): No use to draw
lines if we have less that two points.
* app/qmask.c: Include stdio.h and floating_sel.h.
* libgimp/makefile.cygwin: New file.
* libgimp/Makefile.am: Distribute above file.
* libgimp/gimp.def: Update.
* libgimp/gimpenv.c (gimp_directory): Don't warn about missing
home directory on Win32, it is perfectly natural.
* plug-ins/sel2path/global.h: Bypass unused declarations, some
of which clash with functions in MSVCRT.
* plug-ins/sel2path/math.c
* modules/colorsel_water.c: Define M_PI if necessary.
* plug-ins/sel2path/sel2path.c: Include config.h and
glib.h. Define rint() if needed.
* plug-ins/sel2path/vector.c: Include glib.h (for hypot() renaming
on Win32; In the MS C runtime, as hypot() is non-ANSI, it's called
_hypot(), sigh).
* plug-ins/sinus/sinus_logo.h: Use indexed format, it is easier on
some compilers than the huge string.
Tue Jul 6 22:40:16 MEST 1999 Sven Neumann <sven@gimp.org>
* app/commands.[ch]
* app/global_edit.[ch]
* app/menus.c: added "Paste As New" feature that allows to paste
the current (or a named) buffer to a new image. Still need to
add PDB call for that...
--Sven
* libgimp/gimpenv.c (gimp_directory): Don't warn about missing
home directory on Win32, it is perfectly natural.
* app/color_notebook.c
* libgimp/color_selector.h: Bypass the declaration of the exported
functions in the header. (Caused different linkage error with MSC,
as they are declared dllexport in the source, but naturally not in
the header.)
1999-07-02 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/[all tools]: the Tool structure is now allocated by a common
constructor which sets default values and provides default tool
action functions. To get rid of much code duplication there should
be a object hierarchy of tools.
* app/context_manager.c
* app/tools.[ch]: create and destroy private contexts for the
paint tools on startup and exit. They are not used yet.
* app/interface.c
* app/menus.c
* app/tools.h: num_tools is now exported in tools.h
* app/commands.c
* app/gdisplay.c
* app/menus.c: made "Toggle Selection" a toggleable menu item.
1999-06-21 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/context_manager.c: namespace cleanups.
* app/commands.[ch]
* app/menus.c: moved the "Toggle Selection" menu entry to "View",
sprinkled some separators and made the layers/channels/paths popup
menus consistent with Tigert's last ops buttons change.
* app/fileops.c
* app/plug_in.c: check for gdisplay_active() returning NULL in
some more places.
* app/[all tool related files]:
- Turned the ToolAction and ToolState #define's into typedef'ed
enums, so the compiler can do some more sanity checking.
- Removed one more unused global variable "active_tool_layer".
- Removed some #include's from tools.c.
- Standardized the individual tools' structure names.
- Moved showing/hiding the tool options to separate functions.
- Stuff...
* app/commands.c
* app/disp_callbacks.c
* app/gdisplay.c
* app/tools.c: fixed the segfaults which happened when the image
of one of the tools which have dialogs (levels/posterize/...) was
deleted. My approach was to do stricter sanity checking and to set
some gdisplay pointers correctly where appropriate, so I can't
tell exactly where the bug was.
The curves tool now(??) updates on every _second_ display change
only, which is really obscure.
Finding/changing the display to operate on should definitely be
done by connecting to the user context's "display_changed"
signal.
* app/gimpset.c: emit the "remove" signal _after_ removing the
pointer from the set. If this was not a bug but a feature, please
let me know, we'll need two signals then.
* 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-20 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/commands.c
* app/disp_callbacks.c
* app/gdisplay.c
* app/lc_dialog.c
* app/menus.c: applied a patch from <Simon.Budig@unix-ag.org>
which implements tear-off-menus(!!!). Modified it to use the
GimpContext.
The sensitivity of the menu entries is not updated after
executing a command. This leaves the sensitivity in the state
before the command was executed (which is buggy). Will probably
have to update the sensitivity from gdisplays_flush().
Simon called the patch "temporary" but it looks pretty stable to
me. Please test it :-)
* app/context_manager.[ch]: minor changes.
* app/gimpcontext.[ch]: the user context keeps track of the
current display and image. The image is set automatically from
gimp_context_set_display().
Still have to figure out how this should interact with
gdisplay_active() (the current state is a hack).
Made the context attributes real GtkObject arguments.
Pass the changed attributes to the callbacks which connect to
the <attribute>_changed signals.
* app/gimpset.[ch]
* app/gimpsetF.h
* app/gimpsetP.h: made the gimpset properly derivable by adding
signal slots to the object class structure. Added copyright
headers.
* app/gimpsignal.[ch]: new type gimp_sigtype_double, copyright
header and my usual indentation fanaticism.
1999-06-19 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/gimpcontext.[ch]: added some functions. Still does nothing.
* app/bezier_select.c
* app/devices.c
* app/tools.[ch]: removed global variable active_tool_type
because it was always equal to active_tool->type.
* README.win32: Mention using GNU gettext.
* config.h.win32: Enable NLS stuff. Remove the X11 & Unix vs. Win32
feature test macros, we use those from glibconfig.h and gdkconfig.h.
* app/makefile.msc: Use gettext. New object files.
* app/batch.c: No need to include <io.h> on Win32.
* app/errorconsole.c
* app/plug_in.c
* app/tile_swap.c: Include <glib.h> early to get Win32 feature
test macros from <glibconfig.h>.
* app/gimpset.c: Remove unnecessary (?) warning.
* app/main.c
* libgimp/stdplugins-intl.h: If no LOCALEDIR defined
(as on Win32), use the "locale" subdir in gimp_data_directory().
* app/palette.c: Open palette file in text mode.
* app/session.c
* app/text_tool.c: Use GDK's GDK_WINDOWING feature test macro
if available, not WINDOWS_DISPLAY.
* libgimp/gimpfeatures.h.win32: Correct GIMP_VERSION.
* libgimp/makefile.msc: Use gettext.
* plug-ins/makefile.msc: Use gettext. Add some missing
plug-ins. Advice how to build "unofficial" plug-ins.
* plug-ins/FractalExplorer/FractalExplorer.c
* plug-ins/faxg3/faxg3.c
* plug-ins/gbr/gbr.c
* plug-ins/gz/gz.c: Include <glib.h> early.
* plug-ins/tga/tga.c: Include config.h, use HAVE_UNISTD_H.
Also fixed a small bug in the pattern code that let a pattern stay
up if the user focussed on another widget before releasing mouse button.
Modified Files:
ChangeLog app/devices.c app/gimprc.c app/gimprc.h
app/interface.c app/preferences_dialog.c app/indicator_area.c
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.
1999-06-03 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/disp_callbacks.[ch]
* app/gimpset.c
* app/interface.c: patch from <Simon.Budig@unix-ag.org>. Cleans up
the active image implementation. Now the button and key events of
the whole gdisplay shell are connected to a separate active image
callback.
Don't let the arrow button of the gdisplay grab the focus and
block it's events after any button_press_event, so the canvas
always owns the keyboard focus and the button never grabs the
pointer.
* app/gdisplay.c: correct sensitive setting for the Layers/Stack
submenu.
* app/interface.c: make the query boxes insensitive after pressing
"OK" (may be useful if they're once used for operations which take
longer than just shrink/grow/...).
* app/layers_dialog.c: switch to the active image when the "Auto"
button is activated.
* app/menus.c: bound the <Image>/Layers/Stack menu to some
<modifier>+PageUp/Down combinations.
* app/preferences_dialog.c: pop up with the "Interface" branch
expanded.
1999-06-01 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/commands.[ch]
* app/gdisplay.c
* app/menus.c: for the pleasure of all: a deeper nested submenu ;)
New <Image>/Layers/Stack submenu. Used the same top/bottom
shortcuts as in the layers dialog. Bind them to PageUp/Down and
you will never touch your mouse again to do this.
I'm thinking of dropping the current <ctrl>+[FBTU] in favour of
some <modifier>+PageUp/Down combinations. Test it, Tig !)
* cursors/{mouse1_u,mouse1_umsk}: new mouse cursor for intersection
operations.
* app/cursorutil.[ch], app/rect_select.c: use the new cursor.
* app/gimpimage.c: Applied layer removal bug fix from
David Le Corfec, <lecorfec@etudiant.univ-mlv.fr>
* plug-ins/gdyntext/{font_selection.c, gdyntext.c, gdyntext_ui.c}:
replaced snprintf with g_snprintf.
* plug-ins/jpeg/jpeg.c: updated to work with the double precision
resolutions.
Sun May 16 18:23:12 BST 1999 Austin Donnelly <austin@gimp.org>
* app/module_db.c: We weren't initialising refs variable before using
it. Hence some stuff was being prematurely unloaded. D'oh!
* app/menus.c: move Module DB browser to the Xtns menu, since it
seems to make more sense being there.
* cursors/droppermsk: slight improvement over current one, but
really needs proper artist to look at it.
Thu May 13 22:41:26 BST 1999 Andy Thomas <alt@gimp.org>
Changed:-
* app/bezier_select.c
* app/bezier_selectP.h
* app/cursorutil.c
* app/cursorutil.h
* app/curves.c
* app/paths_dialog.c
New:-
* cursor/mouse1_ap
* cursor/mouse1_apmsk
* cursor/mouse1_cp
* cursor/mouse1_cpmsk
* cursor/mouse1_mm
* cursor/mouse1_mmmsk
* cursor/mouse1_sel
* cursor/mouse1_selm
* cursor/mouse1_selmmsk
* cursor/mouse1_selmsk
* cursor/mouse1_selp
* cursor/mouse1_selpmsk
Paths changes:-
Implemented multi-part paths.
(Import the path (RMB in paths dialog brings menu up)
http://www.picnic.demon.co.uk/tmp/gimp.path
into a 600x256 (WxH) for an example).
Can copy/paste paths.
Fully custom cursors when using the Bezier tool. A number of bug
fixes re boundary problems also fixed.
Note that heavy use is made of the modifier keys in the bezier tool.
MB1 inside a closed curve converts it to a selection. The modifiers
change how the selection interacts with any current selection (in
much the same way as the selection tool does).
MB1 + ALT on control point will move a curve, if shift modifier active
then single curve is moved.
Curves:-
In curves dialog you can now press MB1 + shift will add point to
curves dialog corresponding to the current position in
the currently selected channel. MB1 + CNTRL will add the point
to all channels. (Thanks to Carey Bunks for the initial idea).
* app/paint_core.[ch]: set the fg or bg color if ctrl or alt is
held. use the new dropper cursor.
* app/cursorutil.[ch], app/gdisplay.[ch], app/rect_select.c: Use
GimpCursorType enum values > GDK_CURSOR_LAST instead of seperate
functions to choose between cursor types.
* app/color_picker.c: use the new dropper cursor.
* app/paintbrush.c, app/airbrush.c, app/paintbrush.c: use the new
color picking feature of paint_core.
* cursors/dropper, cursors/droppermsk: new cursor for the color
picker tool. (this cursor is REALLY ugly, someone should fix it)
* pixmaps/mouse1*: new bitmap files containing the new mouse cursors.
* app/parasitelist.c: use g_str_equal instead of parasite_compare_func.
* app/paint_core.c: interpret perfectmouse right way round.
* app/rect_select{P,}.[ch]: set custom cursors when the operation type
changes. Centralize the calculation of op based on the modifier
keys being held.
* app/fuzzy_select.c, app/free_select.c: allow the rect_select
functions calculate the operation type.
* app/ellipse_select.c: use the SelectionOps typedefs.
* app/edit_selection.c: convert MaskToLayerTranslate into
FloatingSelTranslate if there is already a floating selection in
init_edit_selection.
* app/disp_callbacks.c: fixed the calculation of state.
* app/gdisplay.[ch], app/cursorutil.[ch]: new functions to allow
the loading of customized cursors.
* app/paint_funcs.[ch], app/channel.c: border_region now accepts
seperate xradius and yradius arguments.
Mon May 3 21:44:27 BST 1999 Austin Donnelly <austin@gimp.org>
* app/palette.c: put up messages telling user about corrupted
palette files as we load them. In particular, try and catch
MSDOS format files such as those distributed from Visibone's
website.
* 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
1999-04-05 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/action_area.h: #include <gtk/gtk.h>.
* app/devices.c: made the "Input Devices" dialog follow the action
area conventions. Grab pointer in the pattern/brush preview popups.
* app/errorconsole.c: use the actionarea functions.
* app/gimpunit.c: had the wrong copyright header.
* app/info_dialog.c: correctly set the spinbuttons' digits.
* app/perspectice_tool.c: removed #include <stdio.h> again but
didn't forget to s/sprintf/g_snprintf/ this time.
* app/preferences_dialog.c: unified order of varible definitions,
removed some unused variables.
* app/crop.c
* app/file_new_dialog.c
* app/info_dialog.[ch]
* app/interface.c
* app/preferences_dialog.c
* app/rotate_tool.c
* app/scale_tool.c
* libgimp/gimpsizeentry.[ch]
* libgimp/gimpunitmenu.[ch]: prepared for "percent" in size
entries.
1999-03-27 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/brush_select.c
* app/channels_dialog.c
* app/color_select.c
* app/devices.c
* app/file_new_dialog.c
* app/gradient_select.c
* app/palette_select.c
* app/pattern_select.c: applied a patch from Marco Lamberto
<lm@geocities.com> which unifies actionareas ("Cancel" rightmost
and default). Did the same in some more dialogs.
* libgimp/gimpfileselection.c
* libgimp/gimppatheditor.c
* app/preferences_dialog.[ch]: completely reworked the preferences
dialog:
- select the notebook's pages with a tree.
- reordered the categories. Please give me feedback, this really
needs to be intuitive.
- removed lots of unused #include's.
- turned the prefs. dialog into a test site for new convenience
constructors. These changes are however not visible. Flame me
until they're perfect ;) When finished, this stuff can save
*many* lines of gtk+ code.
* modules/colorsel_gtk.c: made it circular.
1999-03-25 Michael Natterer <mitschel@cs.tu-berlin.de>
* unitrc: corrected a typo
* app/commands.c
* app/global_edit.c
* app/gradient.c
* app/interface.[ch]
* app/palette.c
* app/paths_dialog.c: the query_[string|..]_boxes connect their
close callback to a user provided signal now.
* libgimp/gimpimage.c: gimp_image_get_unit() doesn't need a
g_return_if_fail()
* libgimp/gimpunitmenu.c: memory leak & compiler warning
* configure.in
* gimprc.in
* user_install
* user_install.bat
* plug-ins/Makefile.am
* plug-ins/FractalExplorer/*: added the FractalExplorer plugin.
* app/install.c: ditto and made the install help text more
editable by moving it to an array.
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
1999-03-12 Michael Natterer <mitschel@cs.tu-berlin.de>
This is mostly unit stuff and code cleanup
* libgimp/gimpi.def: add some functions
* libgimp/gimpsizeentry.[ch]: new function
gimp_size_entry_set_refval_digits() which allows for float pixel
input. SIGFPE bugfix from Yasuhiro Shirasaki
<yasuhiro@awa.tohoku.ac.jp>, minor bugfixes.
* libgimp/gimpunitmenu.[ch]: add a separator after "pixels",
bugfixes.
* app/interface.[ch]: split up the old query_string_box() into
query_[string|int|float|size]_box(). All functions take an
optional GtkObject* parameter and connect to that object's
"destroy" signal, this fixes some segfaults. And a global
s/container_border_width/container_set_border_width/
* app/commands.s: grow, shrink, border, feather now use the
query_size_box. Used MIN(xres,yres) for now for the pixel<->unit
calculations. Fixed some memory leaks.
* app/global_edit.c
* app/gradient.c
* app/palette.c
* app/paths_dialog.c: changed the query_string_box() calls
1999-03-10 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/devices.c: don't let session management set the size of the
"Device Status" dialog, as the number of devices may change
between sessions
* 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.
* 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.
Thu Feb 25 02:21:52 CST 1999 Shawn T. Amundson <amundson@gimp.org>
* app/menus.c: special case Close/Quit in <Image>/File
to always be at the bottom of the menu.
Sat Feb 20 16:12:33 CST 1999 Shawn T. Amundson <amundson@gimp.org>
* app/tips_dialog.c: Add default to Cancel button, remove
unset GTK_RECEIVES_DEFAULT from prev/next buttons (they
are like toolbar buttons), changed abreviated prev to
previous, prev/next button are now same size, cancel button
is in a button box. Added vboxes where necessary to prevent
prev/next and check button from filling vertically.
* app/app_procs.c: when splashscreen dialog is larger than the
logo, (due to huge font), center logo.
* app/file_new_dialog.c: patch from Marco Lamb <lm@geocities.com>
disallows resizing, changes vertical expanding of widgets to
not occur
* app/palette.c: patch from Marco Lamb <lm@geocities.com>. Makes
+/- buttons for zoom pixmaps (eventually, these can be replaced
with a magnifying glass with a little +/- I think), so that they
no longer expand as they did before. I modified his patch so it
did not create a misused toolbar. I did some other stuff here too,
moved Close button to the left, made it the window's default,
and unset GTK_RECEIVES_DEFAULT off of the non-bottom buttons.
* app/actionarea.c: another patch from Marco Lamb <lm@geocities.com>.
This one changes buttons to be put in a button box which is right
justified. If we decide later that spread is better, we can
change this easy enough.
* app/tools/zoom_in.xpm, app/tools/zoom_out.xpm: + and - graphics.
* libgimp/gimpunit.h
libgimp/gimpunit.c: New files from Michael Natterer
<mitschel@cs.tu-berlin.de>, gimp_unit_* routines.
* app/gimage.h
app/gimpimage.h
app/gimpimage.c
app/gimpimageP.h
app/xcf.c: Patches from Michael Natterer <mitschel@cs.tu-berlin.de>,
which keep a unit assocated with an image.
done in pieces, don't expect to be able to compile on Win32 from
these sources yet. Ans of course, the official version of GTk+
doesn't include the Win32 stuff yet.
Sat Feb 6 16:22:36 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>
Changed:-
plug-ins/plugindetails/plugindetails.c
app/devices.c
Tidy up of plugindesc UI. Can now resize correctly.
Fixed problem with session saving. If the active dialog
was not one on the toolbox (eg Histogram) then an error would
be produced the next time gimp is run up.
Wed Jan 20 19:57:34 EST 1999 Mandrake <mandrake@mandrake.net>
* app/gradients.c
app/menus.c:
s/gtk_check_menu_item_set_state/gtk_check_menu_item_set_active/
configure.in: upped gtk+ requirement to 1.1.13, since that's
where it first occurs.
* app/brush_select.c: make the edit button active if the default
brush is a generated brush. Make sure brush spacing >= 1.0
* app/gimpbrushlist.c: do not add a brush to the brush list if it
failed to load
* app/gradient.c: Fix typo that caused a crash with --no-data
* app/main.c: be more forgiving of fp rounding in gserialize tests
* 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 17 16:56:25 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/blend.c app/bucket_fill.c app/convert.c app/crop.c
app/cursorutil.c app/cursorutil.h app/dialog_handler.c
app/dialog_handler.h app/fuzzy_select.c app/gdisplay.c
app/gimage_cmds.c app/gimpimage.c app/scroll.c
app/transform_core.c app/xcf.c
Hourglasses also apply to all registered dialogs. Hourglasses
added in a couple more important places. New hack lets
hourglasses be added and automagically removed again when
gimp/gtk re-enters the idle loop.
1999-01-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
* Updated gtk_toggle_button_set_state() to
gtk_toggle_button_set_active() in all the files.
* app/colormaps.c
* app/devices.h
* app/tips_dialog.h: minor cleanups
* app/gimpimage.c: the dirty/clean handling seemed weird, and wasn't
correct in all cases. Just do a straight increment/decrement to
try to fix it.
-Yosh
* app/menus.c: doh, we build tool menus on the fly
* configure.in: add nl.po to ALL_LINGUAS
* acinclude.m4
* ltconfig
* ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)
-Yosh
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 23:31:45 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/blend.c app/bucket_fill.c app/convert.c app/crop.c
app/cursorutil.c app/cursorutil.h app/fuzzy_select.c
app/gdisplay.c app/gdisplay.h app/gimage_cmds.c
app/gimpimage.c app/transform_core.c app/xcf.c:
Most lengthy UI-blocking operations now put up an
hourglass so the user can see that GIMP is working.
Let me know if there are other vital cases.
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.
Sat Jan 2 23:22:29 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>
* app/palette.c
* app/palette_select.h
* app/palette_select.c
An attempt at a better/improved palette dialog using a notebook
style for selection.
* i18n markings from Daniel Egger (mostly removal of tags around
PDB stuff), some constification
* I went on a sprintf pogrom. Use g_snprintf or g_strdup_printf
where applicable, to prevent overflows, especially with filenames
and translated strings. suid gimp is now more secure. ;)
-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.
Fri Dec 18 23:46:11 GMT 1998 Andy Thomas <alt@picnic.demon.co.uk>
Changed the palette dialog. New functionality. Better previews.
Can display larger palettes. Can import palettes from images and from
gradients. Fixed colour selection so that the hightlighted
square says in sync on redraws.
* app/convert.h
* app/palette.h
* app/palette.c
* app/gradient.c
* app/gradient_select.c
* app/gimage.c
* app/gimpimage.c
* app/gimpimage.h
New file:-
* app/palette_entries.h
Sat Dec 5 21:31:57 GMT 1998 Austin Donnelly <austin@greenend.org.uk>
* app/commands.[ch]
* app/edit_selection.c
* app/gdisplay.[ch]
* app/gdisplay_ops.[ch]
* app/image_render.c
* app/info_window.c
* app/magnify.c
* app/menus.c
* app/scale.c: image rendering now happens with float scale
factors, independent in X and Y axes. Turning on dot-for-dot in view
menu does what gimp always used to do (ie one image pixel becomes
one monitor pixel). Dot-for-dot is on by default so people
shouldn't notice any difference unless they load an image that's
not at 72 dpi and also turn off dot-for-dot.
* app/app_procs.c
* app/gimprc.[ch]
* app/preferences_dialog.c: new gimprc options
(monitor-xresolution <float>) and corresponding
(monitor-yresolution <float>). Uglyness in preferences dialog to
add a "Monitor" page to the notebook, allowing user to set their
monitor's resolution or take it from the X server instead. This
badly needs cleaned up :(
* plug-ins/newsprint/newsprint.c: oops - this hasn't been working
for grayscale images since my last checkin. Now fixed.
Thu Nov 5 21:55:46 GMT 1998 Andy Thomas <alt@picnic.demon.co.uk>
* app/gradient.c
* app/gradient_select.c
Changes due to gtk+ updates. Clist have been changed recently
in gtk which required changes to source code. These changes
have only been tested with the gtk version that introduced these
changes. (so lets get all those updates going...)
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.
Sat Oct 31 21:47:14 GMT 1998 Andy Thomas <alt@picnic.demon.co.uk>
* app/gradient.c
Fixed for problems with renaming + fix for interactions between editor
and gradient selection popups.
Sat Oct 31 14:57:40 GMT 1998 Andy Thomas <alt@picnic.demon.co.uk>
* app/gradient.c
* app/gradient.h
* app/internal_procs.c
* app/plug_in.c
* app/session.c
* app/session.h
* libgimp/Makefile.am
* libgimp/gimpmenu.h
* libgimp/app/gimprc.c
* libgimp/libgimpmenu.c
* plug-ins/script-fu/scripts/test-sphere.scm
* plug-ins/script-fu/script-fu-enums.h
* plug-ins/script-fu/script-fu.c
* plug-ins/script-fu/script-fu-scripts.c
New file:-
* libgimp/gimpgradientmenu.c
New gradient selector widget (smaller than the editor). This can now
be controlled via the PDB.
New widget which gives easy way to do gradient selections. This
new widget is used by script-fu (see the test->sphere script).
gradient.c needs to be split up (source is almost already split
I will complete this RSN).
Wed Oct 21 23:37:01 BST 1998 Andy Thomas <alt@picnic.demon.co.uk>
Fixed a problem in gradient.c where if a gradient was selected
via the PDB and the editor has not been displayed on the screen
gimp would crash.
Wed Oct 14 17:46:15 EDT 1998 Adrian Likins <adrian@gimp.org>
* app/*, po/de.po, de/POTFILES.in, libgimp/gimpintl.h:
Lots of ii8n stuff here and some additions to the de.po.
Applied gimp-egger-981005-1 ,gimp-egger-981006-1,
gimp-egger-981007-1, gimp-egger-981008-1,
gimp-egger-981009-1.patch, gimp-egger-981010-1.patch
* plug-in/guillotine/guillotine.c: added the coordinates
of the split images from the original image to the title.
ie foo.jpg (0,0) for the image in the topleft.
* plug-in/script-fu/scripts/neon-logo.scm,
perspective-shadow.scm, predator.scm,rendermap.scm,
ripply-anim.scm, select_to_image.scm,swirltile.scm,
xach-effect.scm: updated scripts to use new script-fu stuff
wooo boy! a big un!
in testing this, it looks like some of the po files are busted.
but the code stuff seems okay.
-adrian
Sun Oct 4 22:18:11 BST 1998 Adam D. Moss <adam@gimp.org>
* app/palette.c: Had a look at making the window resizable,
got scared. Made the palette dialog a bit smaller.
* app/indexed_palette.c: The window is now resizable without
falling foul to previously existing bugs. It won't win you
anything though.
Thu Sep 24 12:39:27 BST 1998 Adam D. Moss <adam@gimp.org>
* app/brush_edit.c: #include <string.h> for memset
* app/layers_dialog.c:
Display re-rendering is now handled in an interruptible
asynchronous idle-threaded, uh, paradigm shift.
The upshot of this is that fiddling about with layers
in the layers dialog is now a shipload faster for some
common operations.
Still needs to be ratified w.r.t. multiple gimages, but
it's there.
* app/brush_generated.c: more carefull when the active brush
changes
* app/docindexif.c: white_space() was ungetch'ing the eof
marker which can clear the eof flag on some systems.
* app/docindex.c: check for ferror()s
* app/brush_select[ch]: sensitize the edit button iff the
active brush is a generated brush.
* 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/brush_edit.c app/brush_edit.h app/brush_select.c
app/gimpbrush.c app/gimpbrushgenerated.c
app/gimpbrushgenerated.h app/gimpbrushlist.c
added support for loading generated brushes and updated the
brush_edit a bit.
Added Files:
data/brushes/round1.vbr
A sample generated brush.
----------------------------------------------------------------------
Modified Files:
ChangeLog app/brush_edit.c app/brush_select.c
app/gimpbrushgenerated.c app/gimpbrushgenerated.h
app/interface.c
Added freeze/thaw to gimpbrushgenerated.
added a close button and a preview to the brush_edit dialog.
----------------------------------------------------------------------
I'm not very happy with this new feature as it doubles functionality and
code with the new docindex. Probably the two should be merged somehow. The
user interface should stay as it is, but the MRU functions should be
provided by the docindex code.
--Sven
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.?
----------------------------------------------------------------------
* 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 21 15:16:46 CDT 1998 Larry Ewing <lewing@gimp.org>
* app/bezier_select.c
* app/commands.[ch]
* app/devices.c
* app/disp_callbacks.c
* app/interface.c
* app/menus.c
* app/pixmaps.h
* app/tools.[ch]
* app/undo.c: Lots of changes to the way tools are intialized and
accessed. All information about a tool type is now contained in a
single ToolInfo array. There are still some small issues to
adress about tool groups and we need some way of getting menu
ordering/grouping to work better (plug-ins need this too). There
is still much to be done, but this is the next in cleaning up the
tools.
* app/posterize.[ch]
* app/threshold.[ch]
* app/histogram_tool.[ch]
* app/hue_saturation.[ch]
* app/levels.[ch]
* app/brightness_contrast.[ch]
* app/by_color_select.[ch]
* app/color_balance.[ch]
* app/curves.[ch]: Changed the *_initalize function prototypes from
gpointer to GDisplay, to allow better type chacking and provide a
uniform interface for all the dialog tools.
Tue Jun 16 15:06:19 CDT 1998 Larry Ewing <lewing@gimp.org>
* app/interface.c:
* app/menus.c: added menu entry and changed loop bounds to get the
new ink tool functioning properly
* app/tools.[ch]: added new and free funcs to the ToolInfo struct,
and began small cleanup of tools
* app/plug_in.c: initialize progress_gdisp_ID field in plug_in_new so
things don't crash
* app/menus.c: use proper keycodes (?) for zoom accelerator defaults
* plug-ins/apply_lens/apply_lens.c: fixed a warning
-Yosh
Thu Jun 11 00:34:51 1998 Owen Taylor <otaylor@gtk.org>
* app/color_area.c (color_area_events): Create/resize
the pixmap on every expose CONFIGURE event, not just
on the first expose event.
Thu Jun 11 00:02:15 1998 Owen Taylor <otaylor@gtk.org>
* app/interface.c (create_toolbox): Create the color
area before showing the window, so that the window gets
created at the right size. [ This doesn't actually fix
much, but it is better to do that way ]
* gimptool.in: use @gimpdir@ instead of hardcoding .gimp
* app/palette.c: remove unnecessary gtk_widget_destroy for menus that have
already been removed (from Shuji Narazaki)
-Yosh
Sun Jun 7 11:04:38 1998 Tim Janik <timj@gtk.org>
* app/gradient.c (cpopup_create_menu_item_with_label): use GtkAccelLabel
when creating a menuitems label seperatedly.
* app/commands.h:
* app/commands.c:
(tips_dialog_cmd_callback):
(filters_repeat_cmd_callback):
(tools_select_cmd_callback): make use of the callback_action argument.
* app/main.c (main): removed gtk_accelerator_table_set_mod_mask(),
since gtk provides decent default values now.
* app/layers_dialog.c:
* app/interface.c:
* app/indexed_palette.c:
* app/channels_dialog.c:
* app/buildmenu.c:
conversions for use of GtkAccelGroup.
* app/buildmenu.c:
* app/gradient.c:
installed accelerators are locked, because these code portions don't
support accelerator saving.
* ChangeLog:
* ChangeLog.pre-1-0: ChangeLog split up.
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.
* redid the error message handling. g_message now calls message_box or prints
to console depending on whether the no_interface is set or not. gimp-message
is also exported to the PDB as a wrapper to g_message, and libgimp has a new
API: gimp_message. libgimp also overrides g_message for all plugins. Converted
lots of messages in app/* to g_message. Made script-fu a little friendlier.
* updated the regex code from grep 2.2
* said goodbye to the old script-fu logo in script-fu.h
-Yosh
* gimp_tips.txt: applied gimp-quinet-980414-0; adds new tips
* plug-ins/pagecurl/pagecurl.c: applied gimp-quinet-980414-1;
defines M_PI
* app/app_procs.c: applied gimp-quinet-980414-2; adds more
information to the startup screen
* app/gradient.c: applied gradient-041398-seth; fixes the
behavior that the gradient editor would become insensitive
forever if the color selection dialog were close
* app/regex.c
* plugins/script-fu/regex.c: partially applied
gimp-jbuhler-980412-0; adds braces to nested if/else
--Sven
Removed the systemwide palettes directory from the palettes searchpath.
I still think we should overwork the gradients and palettes functions to
distinct between files that can be changed and those that are not writeable.
Probably for 1.1 ??
--Sven
* app/app_procs.c: fixed up idle handler for file open (look like testgtk
idle demo)
* app/colomaps.c: fixup for visual test and use of gdk_color_alloc for some
fixed colors (from Owen Taylor)
* app/errors.h
* app/errors.c
* app/main.c
* libgimp/gimp.c: redid the signal handlers so we only get a debug prompt on
SIGSEGV, SIGBUS, and SIGFPE.
* applied gimp-jbuhler-980408-0 and gimp-joke-980409-0 (warning fixups)
* applied gimp-monnaux-980409-0 for configurable plugin path for multiarch
setups
-Yosh
added it twice, once under <Image>->Layers and additionally under
<Image>->Image->Alpha
Now it is possible to work on a single-layer image without opening the
Layers-dialog for adding an alpha channel.
--Sven
Tue Mar 31 02:21:15 EST 1998 Matthew Wilson <msw@gimp.org>
* app/gimage.c
* app/tools.c
* app/tools.h: Added a field in the Tools struct, preserve.
During gimage_dirty, if this flag is not set the tool will be
reset. This is good for tools that keep a copy of the image
in cache for local manipulation like transform_core.
* app/bezier_select.c
* app/blend.c
* app/brightness_contrast.c
* app/bucket_fill.c
* app/color_balance.c
* app/color_picker.c
* app/crop.c
* app/curves.c
* app/ellipse_select.c
* app/free_select.c
* app/histogram_tool.c
* app/hue_saturation.c
* app/levels.c
* app/move.c
* app/paint_core.c
* app/posterize.c
* app/rect_select.c
* app/text_tool.c
* app/transform_core.c: Set the preserve flag to the correct
values in the new functions and wrapped calls to functions that
dirty the gimage to prevent tool restarts.
* app/disp_callbacks.c
* app/menus.c: Removed Nether's tool patch.
--phew. Matt
* app/app_procs.c app/brush_select.c app/brushes.c
app/brushes.h app/convert.c app/gradient.c app/gradient.h
app/palette.c app/palette.h app/pattern_select.c app/patterns.c
app/patterns.h: Fixed up --no-data so that the various *_init()
routines always get called, and so that when in interactive mode
the data can be loaded by the user even when started with --no-data.
Fixes the blend bug too...
yeah, sven scooped me... but i think this is still a needed patch...
-adrian
started with the --no-data option. This is fixed now. grad_get_color_at()
now returns a totally transparent black when no gradient is present.
Additionally the gradient editor now behaves better when the window is
resized. The resize code is still an ugly hack though.
--Sven
* app/app_procs.c: fix for (install-colormap) and splash screen
using gtk_preview_reset()
* configure.in: on some platforms libXmu doesn't require libSM and
libICE. configure should know this now.
* app/gradient.c: corrected WM_CLASS typo
* plug-ins/gfli/gfli.c: fix for load handler magic
* plug-ins/gtm/gtm.c: don't use naughty gccisms.
* plug-ins/gqbist
* plug-ins/maze: updated from registry
-Yosh
Fri Jan 30 13:47:57 1998 Federico Mena <federico@bananoid.nuclecu.unam.mx>
* app/gradient.c: Applied patch from Wolfgang Hofer
<hof@ws6310.gud.siemens.at> to let the user load the segment
endpoint color from the current foreground color. It also makes
the preview un-resizable, which is not a complete fix for the
preview resizing bug.