Commit Graph

411 Commits

Author SHA1 Message Date
Manish Singh a3ef836860 libgimp/color_display.h add bpl param for convert func
* 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
1999-10-05 02:16:59 +00:00
Manish Singh d0519fd33d use G_OS_WIN32 and G_HAVE_CYGWIN #defines
* 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-04 19:26:07 +00:00
EDT 1999 Austin Donnelly 48c54f0f5a NEW FILES: app/scan_convert.c common code from free_select.c and
Mon Oct  4 01:46:46 EDT 1999  Austin Donnelly  <austin@gimp.org>

	NEW FILES:
	* app/scan_convert.c
	* app/scan_convert.h: common code from free_select.c and
	    bezier_select.c

	MODIFIED FILES:
	* app/disp_callbacks.c: Fix for bug #2517 - dragging colour swatch
	    to image with no layers causes segfault.  Something is
	    repainting empty images as white rather than chequerboard as
	    well, which still needs fixing.

	* app/free_select.c: move code out to scan_convert.c
	* app/free_select.h: use ScanConvertPoint not FreeSelectPoint
	* tools/pdbgen/pdb/tools.pdb: ScanConvertPoint again
	* app/tools_cmds.c: generated version of above.
1999-10-04 05:51:40 +00:00
Sven Neumann 09cab0b18b This was an easy one.
--Sven
1999-10-04 02:00:33 +00:00
Sven Neumann cdc3f6e779 more export stuff
--Sven
1999-10-03 23:48:33 +00:00
Sven Neumann 6a19448d82 Undestructive File Export(TM)
--Sven

CVS ----------------------------------------------------------------------
1999-10-03 18:54:54 +00:00
Michael Natterer a11f33345d The GIMP Help System part II: press "F1" while browsing a menu to show the
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 13:50:19 +00:00
EDT 1999 Austin Donnelly 97140d8f15 Factored out common code from gimp_image_{raise,lower}_layer and
Fri Oct  1 19:05:04 EDT 1999  Austin Donnelly  <austin@gimp.org>

	* app/gimpimage.c: Factored out common code from
	    gimp_image_{raise,lower}_layer and
	    gimp_image_{raise_layer_to_top,lower_layer_to_bottom}.  They
	    now call gimp_image_position_layer() to do the real work.
	* app/gimpimage.h: gimp_image_position_layer() takes extra arg to
	    tell whether an undo should be pushed.
	* app/layers_dialog.c: reposition layer with undo.
	* app/undo.c: new undo type for layer reposition.  Layer rename
	    shouldn't dirty and clean the image twice!
	* app/undo.h: prototype for undo_push_layer_reposition().
	* app/undo_types.h: LAYER_REPOSITION_UNDO type.
1999-10-01 23:13:13 +00:00
Austin Donnelly 4b4d3934db don't want sub-undo type undo_push_channel() takes ADD or REMOVE type
Fri Oct  1 15:18:34 1999  Austin Donnelly  <and1000@research.att.com>

	* app/channel.h: don't want sub-undo type
	* app/gimpimage.c: undo_push_channel() takes ADD or REMOVE type
	* app/undo.c: undo_push_channel() takes type.  More specific
	    CHANNEL_{ADD,REMOVE}_UNDO types.
	* app/undo.h: undo_push_channel() prototype.
	* app/undo_types.h: More specific CHANNEL_{ADD,REMOVE}_UNDO types.
1999-10-01 19:26:56 +00:00
Austin Donnelly 11409e97fb comment typo fix, plus add %D* to default image-title-format string, so
Fri Oct  1 12:46:12 1999  Austin Donnelly  <austin@gimp.org>

	* gimprc.in: comment typo fix, plus add %D* to default
	    image-title-format string, so people get a '*' in the titlebar
	    if their image is dirty.
	* app/fileops.c: initialise filename before using it.
	* app/gdisplay.c: empty parameter list () is K&R - should be
	    stronger (void) in ANSI C.
	* app/gimpdrawable.c: gimp_drawable_{dirty,clean} functions
	    removed - no one uses them anyway.  Parasite undo type is
	    proper parasite undo type, not MISC_UNDO.
	* app/gimpdrawableP.h: drawable dirty bit removed.
	* app/gimpimage.c: don't change the resolution if there's no
	    difference from the old one.  Call gdisplay_shrink_wrap() to
	    re-calculate scale factors and refresh the display on
	    resolution change.  Layer undo doesn't have sub-types
	    anymore, uses main UndoType instead.
	* app/layer.h: Remove LayerUndoType
	* app/qmask.c: fix qmask undo so it actually works.
	* app/undo.h: new types for undo_push_layer{,_mask} and
	    undo_push_qmask.
	* app/undo.c: change way group boundaries are represented:
	    each Undo has a group_boundary boolean set to TRUE if this is
	    the start or the end of a group, and the type of the Undo is
	    the group's type.  Within a group, each Undo keeps its own
	    type.  This allows pop funcs and free funcs to do
	    type-specific things (eg needed by layer and channel stuff).
	    Don't maintain per-drawable dirty flags anymore.   Floating
	    sel to layer and layer rename now uses meaningful undo types.
	* app/undo_types.h: more specific undo types:
	    LAYER_{ADD,REMOVE}_UNDO, LAYER_MASK_{ADD,REMOVE}_UNDO,
	    LAYER_RENAME_UNDO, and PARASITE_{ATTACH,DETACH}_UNDO.
	* app/undo_history.c: oops - undo stack was being placed into gtk
	    list in wrong order.
	* app/edit_selection.c: push more descriptive LAYER_DISPLACE_UNDO
	    rather than MISC_UNDO.
	* app/layers_dialog.c: better tagging of undo types
1999-10-01 18:43:24 +00:00
Adam D. Moss 762a4cb35b very minor fix 1999-09-29 21:49:27 +00:00
Sven Neumann c3a5070e5c undo for resolution and unit changes
--Sven
1999-09-29 16:44:52 +00:00
Manish Singh 0f9e2dcabd Ack. Stupid debug line.
-Yosh
1999-09-28 00:31:39 +00:00
Manish Singh dbc143a61e revert that last set_locale change, it was bogus
* app/main.c: revert that last set_locale change, it was bogus

* app/gdisplay.c: don't update menu sensitivities when flushing
immediately, so that painting isn't slowed by it

-Yosh
1999-09-27 22:12:44 +00:00
Michael Natterer 002aa905db app/Makefile.am app/gimphelp.[ch] new files
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).
1999-09-27 17:58:10 +00:00
Sven Neumann ae743e3f17 Cleanups...
Shame on the one who decided it would be good idea to load pixmap brushes
as pipes, it destroys the whole purpose of the GIMP_IS_BRUSH_PIPE macro!!


--Sven & Jtl
1999-09-26 03:39:59 +00:00
Sven Neumann 933a5abd54 bug-fixing....
--Sven
1999-09-25 21:45:26 +00:00
Sven Neumann 31331996fa fun with gradient_length and fade_out
--Sven & Jtl
1999-09-25 19:49:58 +00:00
Manish Singh 7d62a34eb4 app/channel.h app/gimpimage.h app/gimpimageP.h app/layer.h app/undo.[ch]
* app/channel.h
* app/gimpimage.h
* app/gimpimageP.h
* app/layer.h
* app/undo.[ch]
* app/undo_types.h: use proper naming convention for undo enums,
and hide them from the pdbgen stuff

* app/procedural_db.h: don't skip PDB_END

* app/undo_history.c: remove gccism from undo_history_append_special

* libgimp/gimpintl.h: INIT_LOCALE should be defined in all cases

* plug-ins/script-fu/Makefile.am: add script-fu-constants.[ch]

* plug-ins/script-fu/script-fu.c: use init_generated_constants

* plug-ins/script-fu/siod.h: #include <stdio.h> for FILE *

* tools/pdbgen/script-fu.pl: new file

* tools/pdbgen/Makefile.am: add rule for constant script-fu gen

* tools/pdbgen/enumgen.pl: add enum skip feature

* tools/pdbgen/lib.pl: use nicks for gimpenums.h

* tools/pdbgen/pdb/procedural_db.pdb: ignore PDB_END

-Yosh
1999-09-23 23:42:38 +00:00
Sven Neumann ba211f07f2 i18n patch from Daniel Egger
--Sven
1999-09-23 11:49:16 +00:00
Sven Neumann 8c404ed3e6 do the box thing!
--Sven
1999-09-21 09:11:42 +00:00
EDT 1999 Austin Donnelly bf8db4adc8 Honest, guv, it's not a feature - it's a tightly integrated package of
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.
1999-09-20 17:15:20 +00:00
Manish Singh d86bcdf9a4 use break; instead of compiler barfing goto and label: } construct
* app/convert.c: use break; instead of compiler barfing goto and
label: } construct

-Yosh
1999-09-14 20:02:23 +00:00
BST 1999 Andy Thomas d045b9667a app/nav_window.c app/floating_sel.c
Sat Sep 11 22:45:12 BST 1999 Andy Thomas <alt@gimp.org>

	* app/nav_window.c
	* app/floating_sel.c

	Hopefully fix for nav_popup when using tablets.
	Also applied the patch supplied by Garry R. Osgood. Thanks.
1999-09-11 21:51:08 +00:00
Sven Neumann 831b75e301 Correct scaling of brush pipes and pixmap brushes.
--Sven
1999-09-09 19:11:38 +00:00
Sven Neumann 181c66985a Sorry for breaking the freeze, but I had these almost ready for weeks now...
--Sven
1999-09-09 01:47:54 +00:00
Olof S Kylander/GIMP f58c6dcc55 Okay I have committed the ugly airbrush now. 1999-09-07 01:24:50 +00:00
Tomas Ogren c9c420f1cf app/disp_callbacks.c app/gdisplay_color.c app/image_new.c i18n fixes.
1999-09-06  Tomas Ogren  <stric@ing.umu.se>

* app/disp_callbacks.c app/gdisplay_color.c app/image_new.c
* app/info_dialog.c app/nav_window.c app/qmask.c app/undo.c:
i18n fixes.
1999-09-06 00:07:03 +00:00
BST 1999 Andy Thomas 56f506a780 app/gdisplay.c app/gdisplay.h app/gimprc.h app/gimprc.c app/nav_window.c
Sat Sep  4 23:21:10 BST 1999 Andy Thomas <alt@gimp.org>

	* app/gdisplay.c
	* app/gdisplay.h
	* app/gimprc.h
	* app/gimprc.c
	* app/nav_window.c
	* app/nav_window.h
	* app/preferences_dialog.c

	The nav preview size can now be configured. The size applies
	to both the "popup" and dialog window.
1999-09-04 22:27:20 +00:00
Manish Singh 52b5222052 app/gtkhwrapbox.[ch] sync from gle
* 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
1999-09-02 18:56:39 +00:00
jaycox 2b5130f08a free the brush dialog before freeing the brushes.
* app/app_procs.c: free the brush dialog before freeing the brushes.

	* app/blend.c, app/bucket_fill.c: don't include brush_select.h

	* app/brush_select.[ch]: add the ability to delete generated brushes.

	* app/gimpbrushgenerated.c: save the brush parameters on seperate lines.

	* app/gimpbrushlist.c: make sure we don't overwrite other brush
	files when saving newly created brushes.
1999-09-02 09:20:48 +00:00
Manish Singh 9fb081a7e6 add gimpmath.h
* 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
1999-09-02 01:41:18 +00:00
Tor Lillqvist 5475ff08a9 New files. Types and functions related to "standard" parasite types. Used
1999-09-02  Tor Lillqvist  <tml@iki.fi>

* libgimp/parasiteio.[ch]: New files. Types and functions related
to "standard" parasite types. Used for the
gimp-brush-pipe-parameters parasite that the gpb and psp plug-ins
handle, and the value of which is stored in gih files, from
which gimpbrushpipe.c parses it.

* libgimp/{Makefile.am,makefile.{cygwin,msc}}: Add new files.

* libgimp/gimp.def: Add its entry points.

* libgimp/gimp.h: Fix cosmetic argument name error.

* app/gimpbrushpipe.c: Remove code that previously
was copied here, use functions from parasiteio.c.

* plug-ins/common/gpb.c: Ditto. Add brush cell width and height
fields to the gih save dialog. Add cleverness to update rows and
columns as cell size is changes. (Still too easy for the user to
get confused, though.) Display corresponding guide grid on the
image. Unfortunately updating the guidelines doesn't seem to work.

* plug-ins/common/psp.c: Use functions from parasiteio.c.
1999-09-02 00:01:41 +00:00
BST 1999 Andy Thomas f380edd704 app/gdisplay.c app/gdisplay.h app/interface.c app/nav_window.c
Wed Sep  1 23:18:21 BST 1999 Andy Thomas <alt@gimp.org>

	* app/gdisplay.c
	* app/gdisplay.h
	* app/interface.c
	* app/nav_window.c
	* app/nav_window.h
	* pixmap/navbutton.xpm (new)

	New popup navigation window. press the icon that appears in
	the bottom right-hand corner of the image display. A navigation
	window will appear that will allow you to scroll around the image if
	the area shown is smaller than the overall image size. Thanks to tml
        for the idea.
1999-09-01 22:39:44 +00:00
Adam D. Moss a437ece36f ed Sep 1 21:27:27 BST 1999 Adam D. Moss <adam@gimp.org>
* app/convert.c app/convert.h:
        Optional low-bleed FS dithering

        * app/fsdither.h: Tables are const

        * app/convert_cmds.c app/internal_procs.c tools/pdbgen/enums.pl
        tools/pdbgen/pdb/convert.pdb:
        Clean up 'convert' PDB interface cruft.
1999-09-01 20:41:10 +00:00
Tor Lillqvist 6ef23d984f app/appenv.h New file. Includes <math.h>. Move G_PI, RINT(), ROUND() etc
1999-09-01  Tor Lillqvist  <tml@iki.fi>

* app/appenv.h
* libgimp/gimpmath.h: New file. Includes <math.h>. Move G_PI,
RINT(), ROUND() etc from app/appenv.h here, so plug-ins can
use them, too. Remove some commented-out old stuff in appenv.h.

* libgimp/gimp.h: Include gimpmath.h.

* libgimp/gimp.c (gimp_main): Win32: Don't install signal
handlers, we can't do anything useful in the handler ourselves
anyway (it would be nice to print out a backtrace, but that seems
pretty hard to do, even if not impossible). Let Windows inform the
user about the crash. If the plug-in was compiled with MSVC, and
the user also has it, she is offered a chance to start the
debugger automatically anyway.

* app/*several*.c: Include gimpmath.h for G_PI etc. Don't include
<math.h>, as gimpmath.h includes it.

* plug-ins/*/*many*.c: Include config.h. Don't include <math.h>.
Remove all the duplicated definitions of G_PI and rint(). Use
RINT() instead of rint().

* app/app_procs.[ch]: app_exit() takes a gboolean.

* app/batch.c
* app/commands.c
* app/interface.c: Call app_exit() with FALSE or TRUE.

* app/main.c (on_error): Call gimp_fatal_error. (main): Don't
install any signal handler on Win32 here, either.

* app/errors.c (gimp_fatal_error, gimp_terminate): Win32: Format
the message and call MessageBox with it.  g_on_error_query doesn't
do anything useful on Win32, and printf'ing a message to stdout or
stderr doesn't do anything, either, in a windowing application.
1999-09-01 20:30:56 +00:00
EDT 1999 Adrian Likins 5e64804c4b app/gimpbrushpip.[ch] app/airbrush.c app/pencil.c fix pencil tool for use
Wed Sep  1 00:56:37 EDT 1999 Adrian Likins <adrian@gimp.org>

        * app/gimpbrushpip.[ch]
        * app/airbrush.c
        * app/pencil.c
        * app/paintbrush.c: fix pencil tool for use with
           pixmaps again
1999-09-01 06:02:08 +00:00
BST 1999 Adam D. Moss d6329d9417 app/convert.[ch] app/convert_cmds.c app/internal_procs.c
Tue Aug 31 22:25:38 BST 1999 Adam D. Moss <adam@gimp.org>

	* app/convert.[ch]
	* app/convert_cmds.c
	* app/internal_procs.c
	* tools/pdbgen/enums.pl
	* tools/pdbgen/pdb/convert.pdb: Added convert_indexed2
	procedure to expose new RGB/GREY->Indexed functionality.
1999-08-31 21:26:34 +00:00
Tor Lillqvist 26b70edddf Add a new method, gboolean want_null_motion(), that tells if the brush
1999-08-30  Tor Lillqvist  <tml@iki.fi>

* app/gimpbrush.h (GimpBrushClass): Add a new method, gboolean
want_null_motion(), that tells if the brush wants to be painted
when we don't know the direction yet. This is needed (so far) by
brush pipes that select the brush based on direction.

* app/gimpbrush.c: Implement above method returning always TRUE.

* app/gimpbrushpipe.c: Here, implement it returning FALSE or TRUE
on whether the brush pipe has any angular (direction) dependent
dimension or not.

* app/paint_core.c (paint_core_button_press): Call the method
if current point == last point.
1999-08-30 21:24:13 +00:00
Tor Lillqvist c2ef7d787a Save the name on a line of its own as it can contain spaces. Print spaces
1999-08-30  Tor Lillqvist  <tml@iki.fi>

* app/gimpbrushgenerated.c (gimp_brush_generated_save): Save the
name on a line of its own as it can contain spaces. Print spaces
between the floating-point values. (gimp_brush_generated_load)
Corrspondingly, read the name from a line of its own.

* app/gimpbrushlist.c (brushes_free): Portability fixes. Use
g_strconcat. Free allocated strings.
1999-08-30 20:42:34 +00:00
BST 1999 Adam D. Moss d0127d1809 *->I: Deterministic colour dithering to arbitrary palettes. Ideal for
Sun Aug 29 17:54:58 BST 1999 Adam D. Moss <adam@gimp.org>

	* app/convert.c: *->I: Deterministic colour dithering
	to arbitrary palettes.  Ideal for animations that are
	going to be delta-optimized or simply don't want to look
	'busy' in static areas.  Also a bunch of bugfixes and tweaks.
	No PDB interface to the new features yet, although a
	convert_image2() is ready and waiting.
1999-08-29 16:54:39 +00:00
BST 1999 Adam D. Moss b2ffe7e026 app/convert.h *->I: Deterministic alpha dithering over layers, reduced
Sun Aug 29 00:40:20 BST 1999 Adam D. Moss <adam@gimp.org>

        * app/convert.h
        * app/convert.c: *->I: Deterministic alpha dithering over layers,
        reduced bleeding of transparent values into opaque values, added
        optional stage to remove duplicate or unused colour entries from final
        colourmap.
1999-08-28 23:40:35 +00:00
Manish Singh 895b0e520c added framework for having multiple simultaneous displays
-Yosh
1999-08-28 22:40:37 +00:00
Tor Lillqvist 34f76ba34a In the case of angular selection, offset angle with G_PI/2 to be
1999-08-28  Tor Lillqvist  <tml@iki.fi>

* app/gimpbrushpipe.c (gimp_brush_pixmap_select_brush): In the
case of angular selection, offset angle with G_PI/2 to be
compatible with PSP tubes. Restrict the index of each dimension
separately to the appropriate range.

* plug-ins/common/gpb.c (gih_save_dialog): Must not free the combo
box string list, the strings are not strdup'ed by the combo box.
1999-08-28 11:23:58 +00:00
Tor Lillqvist 70fca093f3 Implement the selection of brush based on cursor direction, pressure,
1999-08-28  Tor Lillqvist  <tml@iki.fi>

* app/gimpbrushpipe.c: Implement the selection of brush based on
cursor direction, pressure, tilt, or a random value. (Hmm, forgot
velocity, later.) (In addition to just incrementally stepping.)
Read the brush pipe parameters from the gih file's second line.
There is no way to tune the parameters in the GIMP, they must
currently be set when saving the gih file (in the gpb plug-in).

* app/gimpbrushpipe.h
* app/gimpbrushpipeP.h: Move the PipeSelectModes enum to the
"private" header. Add a stride array to GimpBrushPipe to make
indexing easier.

* plug-ins/common/gpb.c: Add selection mode fields to the dialog.
Attach the pipe parameters entered as a parasite, too.

* docs/parasites.txt
* plug-ins/common/psp.c: Use "placement", not "spacing" (which
means another thing).
1999-08-28 01:14:42 +00:00
Manish Singh 4a9ae94655 user_install added gimpressionist, levels, and curves dirs
* user_install
* user_install.bat: added gimpressionist, levels, and curves dirs

* app/color_panel.c
* app/color_select.c
* app/colormaps.[ch]
* app/palette.c
* app/selection.c: remove vestigal colormap code; use get_color
directly now

* libgimp/color_display.h
* app/gdisplay_color.c: bugfixes, added state load/save hooks,
redid the interface to work on blocks, removed dummy default
handler, work on gamma correction stuff

* app/gimpbrushpipe.c: #include <stdlib.h>

* app/gximage.c: minor cleanups

* app/levels.c: default to ~/.gimp-1.1/levels for load/save; minor
gui prettification

* app/main.c
* app/menus.c: plug-in menu translation patch from SHIRASAKI Yasuhiro
<yasuhiro@awa.tohoku.ac.jp>

* libgimp/stdplugins-intl.h: add INIT_I18N_UI() for calling
gtk_set_locale()

* plug-ins/Lighting/lightin_main.c: use INIT_I18N_UI()

-Yosh
1999-08-27 21:06:00 +00:00
BST 1999 Andy Thomas df7ad092f4 app/nav_window.c app/nav_window.h app/gimppreviewcache.h app/layer.c
Fri Aug 27 18:57:50 BST 1999 Andy Thomas <alt@gimp.org>

	* app/nav_window.c
	* app/nav_window.h
	* app/gimppreviewcache.h
	* app/layer.c
	* app/channel.c
	* app/commands.c

	Added some controls to the nav window. Yep. I know that the
	buttons are toooo biGGG.

	Preview cache changes. Now prime preview cache with a image
	so that later we have a better chance of a hit. Still
	needs to be more intelligent at doing this (needs to pick largest
	out of the cache & use its size as the size to prime with).
1999-08-27 19:07:21 +00:00
EDT 1999 Adrian Likins 1d7e543d31 paint_line_pixmap_mask, finally composite alpha correctly, or at least
Fri Aug 27 02:16:02 EDT 1999 Adrian Likins <alikins@redhat.com>

        * app/gimpbrushpipe.c: paint_line_pixmap_mask, finally
        composite alpha correctly, or at least closer. Should
        get rid of those annoying artifacts.
1999-08-27 07:15:51 +00:00
Tomas Ogren 43aa113acc i18n fixes and added a missing \n...
1999-08-27  Tomas Ogren  <stric@ing.umu.se>

* app/convert.c app/paint_funcs.c app/paths_dialog.c:
i18n fixes and added a missing \n...
1999-08-26 23:16:24 +00:00
CDT 1999 Shawn T. Amundson c6eec63232 Added new files, the UI independant part of new image dialog.
Wed Aug 25 02:40:39 CDT 1999 Shawn T. Amundson <amundson@gimp.org>

        * app/image_new.[ch]: Added new files, the UI independant part of
          new image dialog.

        * app/file_new_dialog.[ch]: uses image_new stuff now.  Alot
          changed.  No UI changed.  Different behavior is a bug, as
          this is only for UI separation.

        * app/gimpimage.[ch]: Added gimp_image_get_width () and
          gimp_image_get_height ().

        * app/global_edit.c: Call a function in image_new instead of
          file_new_dialog for updating the status of the cut buffe.
1999-08-26 04:39:21 +00:00
Tor Lillqvist 868bdfff44 Overhaul of pixmap brushes and pipes: No separate pixmap pipe
brush tool any longer. The paintbrush, airbrush and pencil
tools, which already knew how to handle the single-pixmap
brushes now also handle the pipes as well.

* app/pixmapbrush.{h,c}
* app/gimpbrushpixmap.{h,c}: Removed these files.

* app/Makefile.am
* app/makefile.{cygwin,msc}: Remove from here, too.

* app/gimpbrushpipe.{h,c}: Total overhaul.

* app/paint_core.h
* app/apptypes.h: Some more types moved to apptypes.h

* app/context_manager.c
* app/tool_options.c
* app/tools.c
* app/toolsF.h: Remove PIXMAPBRUSH tool.

* app/gimpbrush.h: New method: select_brush. Used to change the
brush in paint_core, for pipe brushes.

* app/gimpbrush.c: Add gimp_brush_select_brush, which is dummy for
the normal brushes (returns the same brush).

* app/paint_core.c: Call the brush's select_brush method to get a
potential new brush before calling the paint_func.

* app/gimpbrushlist.c: Various changes related to the pixmap and
pipe overhaul.

* app/airbrush.c
* app/pencil.c: Reorder code a bit in the tool motion function to
avoid executing unnecessary code in the case of a pixmap brush.

Other changes in the same commit:

* app/install.c: Make quote_spaces extern.

* app/appenv.h: Declare it.

* libgimp/gimpui.def: Add missing entry points.

* libgimp/makefile.{cygwin,msc}: Add missing objects to gimpui.
1999-08-26 00:54:30 +00:00
Manish Singh 93413604a1 more i18n fixes (missed a patch from before)
* app/gdisplay.c: more i18n fixes (missed a patch from before)

* plug-ins/common/plugin-defs.pl
* plug-ins/common/Makefile.am: added gpb

-Yosh
1999-08-25 19:18:41 +00:00
Tor Lillqvist 416aa56f19 Added saving of .gih files.
1999-08-24  Tor Lillqvist  <tml@iki.fi>

* plug-ins/common/gpb.c: Added saving of .gih files.

* plug-ins/common/psp.c: Small changes, renamed the parasite.

* docs/parasites.txt: Suggesta a parasite for pixmap brush pipes.

* docs/gih.txt: Add the above parasite on the second line after
the number of brushes. Suggest how to edit brush pipes.

* docs/gpb.txt: Mention the gpb plug-in.

* app/pixmapbrush.c: Small clarification.

Fixes by Hans Breuer:

* libgimp/gimp.def: Add missing entries.

* app/gimpimage.h: Added declaration of	gimp_image_{freeze,thaw}_undo.

* modules/makefile.msc: Drop the .msvc from dll names.

* plug-ins/common/jpeg.c: Guard inclusion of
unistd.h. (save_dialog): Restrict text box height to help people
with small displays.
1999-08-24 05:30:14 +00:00
EDT 1999 Austin Donnelly 0a7dca9110 Dirty flag now correct in all cases. Can be displayed in image window
Mon Aug 23 10:15:32 EDT 1999  Austin Donnelly  <austin@gimp.org>

	Dirty flag now correct in all cases.  Can be displayed in image
	window title too.  See NOTE near gimp_image_dirty() for details.

	* app/fileops.c: gimp_image_clean_all() after reverting an image.
	* app/gdisplay.c: register handlers for gimage dirty and clean
	    signals to update image title.  New image-title-format
	    expansion: %Dx expands to x if the image is dirty.
	* app/gdisplay_ops.c: gimage->dirty flags != 0 is the correct
	    condition to test to see if an image is dirty.
	* app/gimpdrawable.c: gimp_image_dirty() should never be called
	    except from an undo_push_* function.  Call
	    undo_push_cantundo() if you want to dirty the image but can't
	    be bothered writing an undo handler (be ashamed of yourself!).
	* app/gimpimage.c: new gimage signal: clean.  Emitted when an undo
	    operation takes place.  Gimage changes when either dirty or
	    clean is emitted, so if you need to update previews etc, look
	    for both!  Move group_count into gimage structure, since
	    leaving it as a static in undo.c is bad if two undo groups are
	    started on different images at the same time.  More changes
	    of gimp_image_dirty() to undo_push_cantundo()
	    (parasite-related, plus layer moves).  See the NOTE on dirty
	    counter near gimp_image_dirty() for the full story.
	    gimp_image_dirty() and gimp_image_clean() simplified - counter
	    can go negative.
	* app/gimpimageP.h: group_count moved from undo.c
	* app/layers_dialog.c: push undo for layer name change, rather
	    than dirtying the image.
	* app/undo.c: layer rename undo functions
	    added. undo_push_cantundo() convenience functions added.
	    group_count made per-gimage since everything else is.  When
	    blowing away redo stack, make image infinitely dirty if redo
	    info contained file save point.
	* app/undo.h: added undo_push_layer_rename() and
	    undo_push_cantundo().
	* TODO: added idea for undo history window.
1999-08-23 14:34:58 +00:00
EDT 1999 Adrian Likins 5c61305f24 app/gimpbrushhose.c removed. app/gimpbrushpipe.c New files to replace the
Mon Aug 23 00:56:59 EDT 1999 Adrian Likins <alikins@redhat.com>

        * app/gimpbrushhose.c
        * app/gimpbrushhose.h:
                removed.
        * app/gimpbrushpipe.c
        * app/gimpbrushpipe.h:
                New files to replace the above
        * app/gimpbrushlist.c
        * app/paintbrush.c
        * app/pixmapbrush.c
        * app/Makefile.am:
                s/hose/pipe. Seems someone else uses that name,
        so change it to pipe.

        * app/gimpbrush.c
        * app/gimpbrush.h
        * app/gimpbrushpixmap.c
        * app/patterns.c
        * app/patterns.h
        * app/pixmapbrush.c:
                Added functions to do the actual loading of
        brush/pattern data. Use them where approriate instead
        of cut&pasting the same code all over the place.

        * app/pixmapbrush.c: Fix the bug where masks and brush
        data werent aligned. I didnt quite notice that
        paint_core_get_paint_area returns an area with a 1 pixel
        border larger than the brush. Ooops.

        * TODO: just update a few things while I'm at it
        (pixmap/pipe stuff in particular)
1999-08-23 06:06:12 +00:00
Michael Natterer 1e08aa1ef7 app/color_area.[ch] app/color_panel.[ch] enabled dnd for colors
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, ...
1999-08-22 11:45:31 +00:00
Tomas Ogren cdad1e0164 Remember kids, "Options" is spelled "Options", not "Ootions"
1999-08-22  Tomas Ogren  <stric@ing.umu.se>

* app/tool_options.c: Remember kids, "Options" is spelled "Options",
not "Ootions"
1999-08-22 01:40:36 +00:00
Tor Lillqvist 32879bafe3 Use spinbutton for number of colours.
1999-08-22  Tor Lillqvist  <tml@iki.fi>

* app/convert.c: Use spinbutton for number of colours.

* app/preferences_dialog.h: Export gimp_spin_button_new. Not the
most logical place for it, though.
1999-08-22 00:56:18 +00:00
BST 1999 Adam D. Moss 2403247334 Preview layers need to be alpha-padded, since they're not on the bottom of
Sat Aug 21 16:53:17 BST 1999  Adam D. Moss  <adam@gimp.org>

	* plug-ins/common/jpeg.c:  Preview layers need to be alpha-padded,
	since they're not on the bottom of the stack.  That's a GIMP rule.

	Plus... use new API functions gimp_image_{freeze,thaw}_undo() to avoid
	the dilemma of either consuming a squillion superfluous tiles or
	clobbering the whole undo stack.

	* app/gimage.h
	* app/gimage_cmds.c
	* app/gimpimage.c
	* libgimp/gimp.h
	* libgimp/gimpimage.c: New API functions
	gimp_image_{freeze,thaw}_undo()	to avoid the above twin	evils.
	Similar to gimp_image_{disable,enable}_undo() but without
	clobbering the undo stack (I would have simply changed the latter,
	but too many plugins seem to rely on that behaviour).  See the PDB
	docs for slightly more information.
1999-08-21 16:15:58 +00:00
Michael Natterer 70407d2882 app/Makefile.am new file. Contains a function which creates dnd preview
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-20 19:59:06 +00:00
Michael Natterer 311c83b0a4 app/Makefile.am new file containing the dnd data definitions.
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.
1999-08-19 19:53:30 +00:00
Tor Lillqvist f6858e21d1 Actually use the enum types GimpImageType, GimpImageBaseType,
* 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.)
1999-08-18 23:41:39 +00:00
Adrian Likins 33a045c12f oops, missed a couple of file 1999-08-17 01:05:59 +00:00
Adrian Likins e87ae53aba app/gimpbrushhose.c new files to implement a GimpBrushHose type. The idea
Mon Aug 16 20:48:33 1999 Adrian Likins <alikins@redhat.com>

        * app/gimpbrushhose.c
        * app/gimpbrushhose.h: new files to implement a GimpBrushHose
        type. The idea being its derived from gimpbrushes, so we can
        make regular tools use it if need be, and fold it into the brushes
        dialog nice and easy.

        * app/gimpbrush.c
        * app/gimpbrushgenerated.c
        * app/gimpbrushpixmap.c:
        * app/gimpbrushpixmap.h: Modified the *_get_type() functions
        to behave more correctly. As suggested by Tim Janik <tim@gtk.org>

        * app/pixmapbrush.c: Since pixmapbrush tool wasnt doing anything
        useful anyway, start using it as a testbed for "image hoses".
        Right now it doesnt really work correctly.

I'll try to upload a sample hose to http://adrian.gimp.org/pixmap-brushes/
shortly, and maybe some docs about the lame format.

-adrian
1999-08-17 00:59:07 +00:00
Manish Singh 1fd1919f4f added a G_PI_2
* app/appenv.h: added a G_PI_2

* app/brush_header.h
* app/pattern_header.h: prefixed each FILE_VERSION with
G{BRUSH,PATTERN} to avoid namespace collision

* app/patterns.c: reflect above change

* app/iscissors.[ch]: merged in Austin's iscissors rewrite.. still
unfinished, but it's not like the old one did anything useful
anyway ;)

-Yosh
1999-08-16 03:43:48 +00:00
Sven Neumann ed81308375 movements restricted to 45 degrees (Ctrl+Alt) feel more natural now
--Sven
1999-08-14 12:34:08 +00:00
Manish Singh 374e55bced add pixmaps/dropper.xpm to EXTRA_DIST
* Makefile.am: add pixmaps/dropper.xpm to EXTRA_DIST

* app/appenv.h: minor formatting changes

* app/channel.c: #include "gdisplay.h"

* app/color_transfer.c
* app/dodgeburn.c
* app/gdisplay.c
* app/iscissors.c
* app/paint_core.c: remove extra SQR and ROUND definitions

* app/flip_tool.c: hackaround the flip tool options constant problem

* app/flip_tool.[ch]: use InternalOrientationType for flip_tool_flip
prototype

* app/interface.c: use GTK_LABEL case in gtk_label_set_justify

* plug-ins/common/mkgen.pl
* plug-ins/common/plugin-defs.pl: add @extra EXTRA_DIST processing

-Yosh
1999-08-13 22:33:49 +00:00
BST 1999 Andy Thomas 2557c517b1 app/commands.c app/commands.h app/disp_callbacks.c app/gdisplay.c
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.
1999-08-12 22:21:04 +00:00
Adrian Likins 204d4123b2 app/pixmapbrush.c app/pixmapbrush.h app/gimpbrushpixmap.c New files,
Mon Aug  9 01:20:24 1999 Adrian Likins <alikins@redhat.com>

        * app/pixmapbrush.c
        * app/pixmapbrush.h
        * app/gimpbrushpixmap.c
        * app/gimpbrushpixmap.h: New files, implement the GimpBrushPixmap
          object, and the pixmap brush tool.

        * app/context_manager.c
        * app/tool_options.c
        * app/tools.c
        * app/toolsF.h: add the pixmap brush tool in

        * app/gimpbrushlist.c: allow for loading of pixmap brushes and
        displaying them in the brush dialog. Currently it only shows the
        grey scale mask.

        *app/Makefile.am: add the pixmap tool stuff to the build process

        These Changes implement a pixmap brush tool. Sort of a "image stamp".
        Some examples can be seen at http://adrian.gimp.org/pixmap-brush/.

        Some examples of pixmap brushes can be found there too (.gpb
        extension), but these are easy enough to make (for now, make
        a pattern and a brush the same size and `cat foo.gbr foo.pat >
        foo.gpb` ;->

        Theres still a few rough edges that need some tweaking, but
        the framework is there. Figured I'd sneak it in before the
        freeze.
1999-08-09 06:30:31 +00:00
Seth Burgess b519150fa9 ChangeLog app/channel.c app/channel.h app/channel_ops.c
app/gimpimage.c app/gimpimageP.h app/interface.c
 	app/paint_core.c app/qmask.c app/qmask.h:

	Added qmask settings dialogs through double clicking.
1999-08-07 20:55:26 +00:00
Asbjørn Pettersen fc81fbd409 handle drives(os2) 1999-08-06 11:14:01 +00:00
Tor Lillqvist 933b866166 Define ROUND(), RINT(), SQR(), G_PI and G_PI_4. The latter two will
* 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().
1999-08-04 23:22:29 +00:00
Tor Lillqvist 61724bfb50 Fix cut-and-paste error reported by Claes G Lindblad.
* app/channel_ops.c (offset_halfheight_callback): Fix
	cut-and-paste error reported by Claes G Lindblad.
1999-07-31 22:03:35 +00:00
Manish Singh a3854b331c revert previous change
* tools/pdbgen/pdb/tools.pdb: revert previous change

* tools/pdbgen/pdb/guides.pdb: perform orientation xform here

* app/gimpimage.h: use 2 enums, one for internal and for external

* libgimp/gimpenums.h: change around external enums here

-Yosh
1999-07-30 05:26:36 +00:00
Marc Lehmann 8a9daf72ef *** empty log message *** 1999-07-30 01:21:04 +00:00
Manish Singh 46f8a629e3 hard code orientation constants for shear and flip too maintain backwards
* tools/pdbgen/pdb/tools.pdb: hard code orientation constants for
shear and flip too maintain backwards compatibility

* app/gimpimage.h: remove ORIENTATION chop to avoid namespace
collision

-Yosh
1999-07-30 00:20:50 +00:00
Manish Singh 7cb07a90bf add sample_colorize and curve_bend defs
* plug-ins/common/plugin-defs.pl: add sample_colorize and
curve_bend defs

* libgimp/color_selector.h: minor consistency cleanup

* libgimp/gimpchainbutton.[ch]: use new style gtk object helper macros

* libgimp/gimpfileselection.c
* libgimp/gimpmatrix.h: minor cleanup

* libgimp/gimpintl.h: resync with gnome-i18n.h


* libgimp/color_display.h
* app/gimp.sym
* app/gdisplay_color.[ch]
* app/app_procs.c
* app/gdisplay.h
* app/image_render.c: color display transformation code. Still
unfinished, so it's not activated yet.

* app/buildmenu.h: remove unused defines (PULLDOWN, POPUP, OPTION)

* app/colormaps.[ch]
* app/image_render.c: remove vestigal dithering stuff

* app/convolve.h
* app/gimpdrawable.h
* app/gimpimage.h
* app/lut_funcs.h
* app/paint_funcs.h
* app/plug_in.h: enum nick changes from Marc

* app/channel_ops.c
* app/crop.c
* app/gdisplay.c
* app/gimpimage.[ch]
* app/move.c: s/([A-Z]+)_GUIDE/ORIENTATION_$1/

* app/flip_tool.[ch]
* app/shear_tool.[ch]: use ORIENTATION_* constants instead of our own

* app/disp_callbacks.c: remove HORIZONTAL and VERTICAL #defines

* app/general.h: enumified TOKEN_* symbols

* app/lc_dialog.c
* app/paint_funcs.c: remove unused variables

* tools/pdbgen/lib.pl: autogen gimpenums.h (unfinished)

* tools/pdbgen/stddefs.pdb: new std_orientation_enum, remove
layer_mode shortcut since we've skipped it in app/

* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/gimage.pdb
* tools/pdbgen/pdb/guides.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/tools.pdb: reflect above enum changes, whitespace
cleanups

* tools/pdbgen/enums.pl
* app/brush_select_cmds.c
* app/brushes_cmds.c
* app/color_cmds.c
* app/drawable_cmds.c
* app/gimage_cmds.c
* app/layer_cmds.c
* app/procedural_db_cmds.c
* app/tools_cmds.c: reflect pdb and enum nick changes above

-Yosh
1999-07-28 23:00:08 +00:00
Michael Natterer acffb96f7b app/commands.c app/desaturate.[ch] no need to pass the image as a void
1999-07-27  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/commands.c
	* app/desaturate.[ch]
	* app/equalize.[ch]: no need to pass the image as a void pointer
	to desaturate and equalize.

	* app/gimage.h
	* app/gimpimage.[ch]: new function gimp_image_position_layer().

	* app/layers_dialog.c: move layers with drag'n'drop.
1999-07-27 02:41:34 +00:00
Tomas Ogren a89287a132 app/actionarea.c app/dodgeburn.c app/fuzzy_select.c app/gimpparasite.c
1999-07-27  Tomas Ogren  <stric@ing.umu.se>

* app/actionarea.c
* app/dodgeburn.c
* app/fuzzy_select.c
* app/gimpparasite.c
* app/gimpunit.c
* app/procedural_db_cmds.c
* app/resize.c: Misc i18n fixes
1999-07-27 00:14:14 +00:00
MEST 1999 Sven Neumann 33167e4c37 Restrict to horizontal/vertical blend when modifiers are pressed.
Mon Jul 26 20:11:01 MEST 1999  Sven Neumann <sven@gimp.org>

        * app/blend.c: Restrict to horizontal/vertical blend when modifiers
        are pressed.

--Sven
1999-07-26 18:13:10 +00:00
Michael Natterer a4c1e8a557 new ui for the "Layer Offset" dialog.
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, ...
1999-07-22 16:21:10 +00:00
Sven Neumann 645f85352d Indentation paranoia!
--Sven
1999-07-19 19:46:05 +00:00
Michael Natterer 2518748a66 moved the _() wrappers out of the macro again, so they actually get
1999-07-19  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/gdisplay.c (gdisplay_set_menu_sensitivity): moved the _()
	wrappers out of the macro again, so they actually get
	processed. Reported by <Daniel.Egger@t-online.de>.
1999-07-19 13:42:12 +00:00
Tor Lillqvist fe1cc678c1 app/makefile.cygwin app/makefile.msc plug-ins/makefile.cygwin
* 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.
1999-07-14 16:02:32 +00:00
Michael Natterer 9f92d833f0 Undo/Redo should be sensitive even if there is no layer :-)
1999-07-10  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/gdisplay.c (gdisplay_set_menu_sensitivity): Undo/Redo should
	be sensitive even if there is no layer :-)

	* app/commands.h
	* app/docindex.[ch]
	* app/docindexif.[ch]
	* app/file_new_dialog.[ch]: some #include cleanups.

	* plug-ins/helpbrowser/Makefile.classic: less primitive version.
1999-07-10 11:53:42 +00:00
Seth Burgess a513b0d10e Fixed minor bugs, tweaked behavior if no selection to be consistant. 1999-07-10 04:40:51 +00:00
MEST 1999 Sven Neumann 9fa818fafc applied a (modified) patch from Shuji Narazaki <narazaki@gimp.org>
Fri Jul  9 20:12:12 MEST 1999  Sven Neumann <sven@gimp.org>

        * app/app_procs.c: applied a (modified) patch from
        Shuji Narazaki <narazaki@gimp.org>

        * app/gimpimage.c: applied a modified) patch from
        Tom Rathborne <tomr@aceldama.com> that aligns guides on layer_resize


--Sven
1999-07-09 18:15:39 +00:00
Michael Natterer 434915b03d mysteriously, using the new tool constructor fixed the crop tool redraw
1999-07-09  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/crop.c: mysteriously, using the new tool constructor fixed
	the crop tool redraw problem.

	* app/gdisplay.c: clode cleanup

	* app/info_dialog.c: never emit signals when updating the info
	fields. Fixes some more transform tool grid redraw bugs.
1999-07-09 12:24:36 +00:00
Michael Natterer ee7af4285d don't make menus unreachable by forgetting to set them sensitive again.
1999-07-07  Michael Natterer  <mitschel@cs.tu-berlin.de>

        * app/gdisplay.c (gdisplay_set_menu_sensitivity): don't make menus
        unreachable by forgetting to set them sensitive again.

and a tiny .cvsignore update in plug-ins/common
1999-07-07 13:32:58 +00:00
Sven Neumann cba5651da6 cosmetic changes
--Sven
1999-07-07 10:55:48 +00:00
Seth Burgess 7058d4c631 Added Qmasks 7-6-99 <sjburges@gimp.org>
* pixmaps/qmasknosel.xpm
        * pixmaps/qmasksel.xpm: Ugly pixmaps that tigert promised to replace

        * app/channel.[ch]
        * app/channel_cmds.c : made some of the private structures accessible
          through exported functions to keep things a bit clean

        * app/interface.c
        * app/gdisplay.[ch]
        * app/gimpimageP.h
        * app/gimpimage.[ch]
        * app/undo.[ch]: added qmasks

        * app/Makefile.am
        * app/qmask.[ch]: added new files for qmask support

        * tools/pdbgen/pdb/channel.pdb: changed some channel stuff to keep
          things a bit more private
1999-07-07 03:18:54 +00:00
BST 1999 Andy Thomas 3fcea79688 ./app/layer.c.orig ./app/lc_dialog.c.orig ./app/paths_dialog.c.orig
Tue Jul  6 22:16:07 BST 1999 Andy Thomas <alt@gimp.org>

	* ./app/layer.c.orig
	* ./app/lc_dialog.c.orig
	* ./app/paths_dialog.c.orig
	* ./app/pathsP.h.orig
	* ./libgimp/gimpmenu.c.orig
	* ./tools/pdbgen/pdb/paths.pdb.orig
	* ./app/paths_cmds.c
	* ./app/internal_procs.c

	Fixed small LCP menu preview problems. Now works for all
	image types and updated correctly when alpha channel added.

	Additional PDB functions for paths. Fixed some PDB functions
	(gimp_paths_set_points). Now works as advertised.
1999-07-06 21:19:34 +00:00
MEST 1999 Sven Neumann b12614646d app/commands.[ch] app/global_edit.[ch] added "Paste As New" feature that
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
1999-07-06 20:43:52 +00:00
MEST 1999 Sven Neumann 27d47091bb give user feedback on the threshold use an optionmenu for the gradient
Tue Jul  6 19:58:48 MEST 1999 Sven Neumann <sven@gimp.org>

        * app/fuzzy_select.c: give user feedback on the threshold
        * app/paintbrush.c: use an optionmenu for the gradient type
        instead of using 4 radiobuttons
        * app/blend.c: indentation paranoia

        Hopefully I have merged in Michaels changes correctly ...

--Sven
1999-07-06 18:13:59 +00:00
Michael Natterer 1058f41dab app/airbrush.c app/blend.c app/bucket_fill.c app/clone.c app/convolve.c
1999-07-06  Michael Natterer  <mitschel@cs.tu-berlin.de>

        * app/airbrush.c
        * app/blend.c
        * app/bucket_fill.c
        * app/clone.c
        * app/convolve.c
        * app/dodgeburn.c
        * app/eraser.c
        * app/ink.c
        * app/paintbrush.c
        * app/pencil.c
        * app/smudge.c: get opacity/paint mode from the current context
        (currently always the user context).

        * app/gimage_mask.c: the "stroke" command uses the paintbrush's
        settings if the current context is the user context and we are in
        per-tool paint options mode.

        * app/context_manager.[ch]
        * app/paint_options.h
        * app/preferences_dialog.c
        * app/tool_options.c
        * app/tools.c: moved the global/per-tool paint options switching
        to the context manager. The tool options themselves only contain
        the widgets for them now. This should fix the segfaults happening
        in per-tool mode.
	Removed the disclaimer from the prefs. dlg. as it seems to work
	now. The impl. in the context manager however is still a hack.

        * app/brush_select.c
        * app/brushes_cmds.c
        * tools/pdbgen/pdb/brushes.pdb: same as above.

        * app/lc_dialog.c: minimal code reduction. No functionality changed.
1999-07-06 15:18:25 +00:00
Michael Natterer a60b2c2f02 the Tool structure is now allocated by a common constructor which sets
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-07-02 17:40:10 +00:00
People doing a 16 bpc version of gimp 5b5c24e9dd Import of Smudge and dodge and burn tools. Details in Change log.
calvin@rhythm.com
1999-07-01 16:52:50 +00:00
Michael Natterer c456ba93ba app/[all tool related files] app/commands.c app/disp_callbacks.c
1999-06-26  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/[all tool related files]
	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/gimage.c
	* app/interface.c: hopefully fixed the bugs that appeared with my
	last fix. And some more changes...

	- Slightly changed the conditions which cause the tools to be
	  re-initialized on button_press events and the global
	  initialisation functions.
	- The dialog tools now explicitly set tool->gdisp_ptr so they can
	  be properly hidden on display deletion.
	- Create the crop info dialog only once and avoid ugly redraw bugs
	  by blocking the sizeentries' signal when initializing them.
	- Standardized the tools_new_<tool>() functions. They are
	  scheduled to be moved to a common constructor in tools.c
	- Various stuff...
1999-06-26 11:16:47 +00:00
BST 1999 Andy Thomas 9b7d21dab5 gimp/app/gimppreviewcache.c gimp/app/gimppreviewcache.h
Wed Jun 23 23:52:54 BST 1999 Andy Thomas <alt@gimp.org>

	* gimp/app/gimppreviewcache.c
	* gimp/app/gimppreviewcache.h
	* gimp/app/drawable_cmds.c
	* gimp/app/gdisplay.c
	* gimp/app/gimpdrawableP.h
	* gimp/app/gimage_cmds.c
	* gimp/app/Makefile.am
	* gimp/app/layers_dialog.c
	* gimp/app/channel.c
	* gimp/app/lc_dialog.c
	* gimp/app/lc_dialog.h
	* gimp/app/lc_dialogP.h
	* gimp/app/layer.c
	* gimp/app/gimpdrawable.c
	* gimp/app/internal_procs.c
	* gimp/libgimp/gimp.h
	* gimp/libgimp/gimpimage.c
	* gimp/libgimp/gimpdrawable.c
	* gimp/libgimp/gimpmenu.c
	* gimp/tools/pdbgen/pdb/drawable.pdb
	* gimp/tools/pdbgen/pdb/gimage.pdb

	Added thumbnail image preview functions.
	Previews are visible on the L&C&P dialogs as well as in the
	drawables/channels/ menus generated for plugins
	(see the bumpmap & Mapobject plugins).

	PDB interface exists to simply extract a thumbnail preview
	of a given size. This is much quicker & more efficient
	than getting the image data tile-by-tile if you only need a small
	image since a "preview cache" has been implemented. This cache also
	reduces the number of times the tiles cached is scanned since smaller
	previews are always generated from large ones if they exists and
	are valid.

	Some possible usages (I don't intend to implement these ideas. Just
	suggestions). More plugins using the thumbnail preview (ie any that
	use multiple images). Indication of "active image" somewhere.....
	Actually almost anywhere a drawable/image name appears.
1999-06-23 23:01:14 +00:00
Michael Natterer f1b5e1ae47 namespace cleanups.
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.
1999-06-21 22:12:07 +00:00