Commit Graph

28 Commits

Author SHA1 Message Date
Tor Lillqvist 2041747fc6 Add gimp_ui_init.
2000-04-23  Tor Lillqvist  <tml@iki.fi>

* libgimp/gimpui.def: Add gimp_ui_init.

* libgimp/makefile.{cygwin,msc} (gimpui_OBJECTS): Add gimpui.

* app/makefile.{cygwin,msc}
* plug-ins/makefile.{cygwin,msc}: New installation directory.

* app/datafiles.c (is_script): Must not g_free() value returned by
g_getenv().

* plug-ins/gdyntext/font_selection.c: Don't include gdkx.h with
GTk+ 1.3.
2000-04-23 20:27:41 +00:00
Tor Lillqvist 70b1e8da72 Correct the info about Win32 mailing lists.
2000-04-10  Tor Lillqvist  <tml@iki.fi>

* README: Correct the info about Win32 mailing lists.

* gimprc.win32: Add perfect-mouse setting.

* libgimp/gimp.h
* app/main.c: Guard against redefinition of _stdcall.

* libgimp/gimpmath.h: Define macros ISNAN and ISINF. On Win32 use
_isnan() and _fpclass() from <float.h>, on other platforms use
isnan() and isinf(). We really should test for isnan and isinf in the
configure script.

* tools/pdbgen/pdb/gimage.pdb
* app/gimage_cmds.c: Include gimpmath.h, use above macros instead
of using the nonportable isnan and isinf.

* app/gdisplay_ops.c: Do use the old gtk_widget_hide/show hack on
Win32.

* libgimp/makefile.cygwin
* libgimp/makefile.msc
* app/makefile.cygwin
* app/makefile.msc
* plug-ins/makefile.cygwin
* plug-ins/makefile.msc: Updates.

* plug-ins/gfig/gfig.c (plug_in_parse_gfig_path): Simplify warning
message on Win32.  We could use G_DIR_SEPARATOR in the sample
gimprc line, but then we would have to call g_strescape to quote
it, argh. Win32 users use prebuilt versions with a correct gimprc
file anyway.

(create_file_selection): Use g_get_tmp_dir().

(gfig_update_stat_labels): Guard against possibly NULL value from
g_get_home_dir().
2000-04-10 20:47:04 +00:00
Tor Lillqvist ebf05daf38 Include <stdlib.h> for __argc and__argv.
2000-02-24  Tor Lillqvist  <tml@iki.fi>

* libgimp/gimp.h (Win32): Include <stdlib.h> for __argc and__argv.

* libgimp/{gimp,gimpui}.def: Add new entry points.

* libgimp/gimpenv.c (Win32): Make compileable, with no geteuid etc.

* app/makefile.{cygwin,msc}
* libgimp/makefile.{cygwin,msc}: Update object file list.
2000-02-23 22:03:37 +00:00
Tor Lillqvist 970ad834d1 libgimp/gimp.def libgimp/gimpui.def libgimp/makefile.{cygwin,msc}
2000-02-15  Tor Lillqvist  <tml@iki.fi>

* libgimp/gimp.def
* libgimp/gimpui.def
* libgimp/makefile.{cygwin,msc}
* app/makefile.{cygwin,msc}
* plug-ins/makefile.{cygwin,msc}: Updates.

* app/datafiles.c (is_script): New Win32-only function, which
tests if a file's extension matches one of the extensions in the
PATHEXT environment variable (which the cmd.exe command
interpreter also uses). This is to avoid starting applications
associated with any random data file the user might have dropped
in the plug-ins folder, while still supporting plug-ins written in
scripting languages.

* app/gimpparasite.c (gimp_parasiterc_save): (Win32:) Cannot
rename to an existing file.

* plug-ins/Lighting/lighting_image.c
* plug-ins/Lighting/lighting_share.c
* plug-ins/MapObject/mapobject_preview.c
* plug-ins/MapObject/mapobject_shade.c: Use G_PI.

* plug-ins/common/gz.c: #ifdef G_OS_WIN32 was used before its
potential definition via glib.h.

* plug-ins/common/jpeg.c: Also recognize Exif files, which are
typically produced by digital cameras. The usually have a .jpg
file name extension, and would thus already match this plug-in,
but add the magic string just in case. They are loaded just fine
by libjpeg even if they don't have the JFIF signature.

* plug-ins/common/tiff.c: Set TIFF warning and error handler, so
we get to pass libtiff's messages through the normal channels.
2000-02-14 22:44:06 +00:00
Tor Lillqvist a075daa211 Add gimpcolorspace object.
2000-01-04  Tor Lillqvist  <tml@iki.fi>

* libgimp/makefile.{cygwin.msc}: Add gimpcolorspace object.

* libgimp/gimp.def: Add functions from it.

Fixes from Hans Breuer:

* app/datafiles.c: redefine the executable flag for Win32
to _S_IREAD, to get _all_ files from the plug-in dirs as
executables (including scripts)

* app/main.c: Win32-specific changes to allow building Gimp as a
console application, with all its benefits (like inheriting the
console), but hide it if the user doesn't want it. Also, if stdout
goes to a console, give the user a chance to read the help or
version messages. (tml: I am not convinced that it is better to
build gimp as a console application, but let's try it this way for
a while.)

* app/makefile.{cygwin,msc}: Build as console application, and
link with shell32 library.

* app/paint_core.c (paint_core_motion): Pass the value of a call
to the function gimage_active_drawable() to the paint_func,
instead of just passing the address of gimage_active_drawable...

(tml: This code is only called when the TOOL_TRACES_ON_WINDOW flag
is on, and only the clone tool sets that, and the clone tool's
paint_func doesn't use the drawable argument, so this hasn't
caused any trouble.)

* app/plug_in.c: On Win32, to support scripts, use new function
xspawn() instead of _spawnv. Add some more code to properly kill
plug-ins.

* libgimp/color_display.h: Add G_MODULE_EXPORT declarations.
2000-01-04 17:46:41 +00:00
Tor Lillqvist b48c534756 Some clarifications.
2000-01-02  Tor Lillqvist  <tml@iki.fi>

* README.win32: Some clarifications.

* app/makefile.{cygwin,msc}
* libgimp/makefile.{cygwin,msc}
* plug-ins/makefile.{cygwin,msc}: Changes corresponding to the GTk+
source reorg. Add new files.

* app/text_tool.c: Remove now unnecessary workaround for Win32
POINTS identifier clash.
2000-01-02 11:56:56 +00:00
Tor Lillqvist a999bb9dd0 Fix the handling of stored state. Actually use the margins from the Page
1999-12-08  Tor Lillqvist  <tml@iki.fi>

* plug-ins/common/winprint.c: Fix the handling of stored
state. Actually use the margins from the Page Setup dialog (just
the left and top margins currently).

* plug-ins/common/animationplay.c: Weird include hackery to be
compilable with current CVS GTk+ (on Win32).

* plug-ins/gfig/gfig.c: With current CVS GTk+, use gdk_parent_root
instead of gdk_root_parent (Win32).

* app/makefile.cygwin
* libgimp/makefile.cygwin
* plug-ins/makefile.cygwin: Get GDK library from new place.
1999-12-08 00:19:20 +00:00
Tor Lillqvist 5c614c4205 Must call gimp_set_remove_handler() to remove the browser_info_update
1999-11-09  Tor Lillqvist  <tml@iki.fi>

* app/module_db.c (browser_destroy_callback): Must call
gimp_set_remove_handler() to remove the browser_info_update
handler from the GimpSet 'modules'.

Otherwise if we bring up the module browser, then close it, this
will call browser_destroy_callback(), which will free the
'browser_st' struct. Later when we exit the GIMP, the modules will
be unloaded, which will cause browser_info_update() to be called,
and passed the pointer to the already freed 'browser_st'. Whoopee.
Thanks to Electric Fence for pointing this out.

* app/makefile.{cygwin,msc}: Remove actionarea.

* libgimp/gimp.h: Change declaration of nonexistent function
gimp_layer_attach_new_parasite() to declaration of
gimp_drawable_attach_new_parasite(), which was missing.

* libgimp/gimpui.def
* libgimp/makefile.{cygwin,msc}: Add gimpcolorbutton.

* plug-ins/makefile.{cygwin,msc}: Add gap_filter and gap_plugins.

* plug-ins/common/gz.c: Fix renamed variable in Win32 part.

* plug-ins/gap/gap_lib.c: Use G_DIR_SEPARATOR_S.

* plug-ins/gdyntext/font_selection.c: When compiling with current
CVS GTk+ (i.e., on Win32 most likely) use the gdk_font_list_*
functions instead of Xlib's XListFonts() and XFreeFontNames().

* plug-ins/gdyntext/gdyntext.c: Use G_PI.

* plug-ins/gdyntext/gdyntext_ui.c: Guard inclusion of
unistd.h. Don't unnecessarily include gdkx.h and Xlib.h

* plug-ins/winsnap/winsnap.c: Fix rectangle orientation.
1999-11-09 23:01:31 +00:00
Tor Lillqvist 61e9a437db Fix the file_gih_save RUN_WITH_LAST_VALS case, initialise pixpipe
1999-10-06  Tor Lillqvist  <tml@iki.fi>

* plug-ins/common/gpb.c: Fix the file_gih_save RUN_WITH_LAST_VALS
case, initialise pixpipe parameters from the parasite (Hi, Adrian!).

* plug-ins/script-fu/interp_slib.c: Fix preprocessor syntax error.

* app/makefile.{cygwin,msc} libgimp/makefile.{cygwin,msc}: Add new
object files.

* libgimp/gimp.def libgimp/gimpui.def: Add new entry points.

* modules/makefile.{cygwin,msc}: Add -I path to the common gdk
directory.
1999-10-06 06:36:46 +00:00
Tor Lillqvist d28bd8b689 Change the GDK_WINDOWING_* stuff to be buildable with current CVS gtk+
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.
1999-10-03 00:43:05 +00:00
Tor Lillqvist e422b59e59 Include config.h, guard inclusion of <unistd.h>.
1999-09-14  Tor Lillqvist  <tml@iki.fi>

* app/brush_select.c: Include config.h, guard inclusion of
<unistd.h>.

* app/gimpcontextpreview.c: Include config.h, <string.h> and
appenv.h.

* app/xinput_airbrush.c: Include config.h, <stdio.h>, appenv.h and
libgimp/gimpmath.h. Use G_PI.

* app/makefile.{cygwin,msc}: Updates.

* plug-ins/makefile.{cygwin,msc}: Add the unofficial sel_gauss
plug-in. Add new object files for FractalExplorer and
gimpressionist.

* plug-ins/common/iwarp.c (iwarp_deform): Combine two loops over
the same xi, yi area into one. Remove the then actually unused
deform_area_vectors array. Only one element of the array was used
for each x,yi loop.

* plug-ins/common/sparkle.c: Don't include <math.h>,
libgimp/gimpmath.h includes it. Use G_PI.
1999-09-14 21:20:04 +00:00
Tor Lillqvist 5e0093547e Accept what g_strescape throws at us (specifically, octal sequences that
1999-09-02  Tor Lillqvist  <tml@iki.fi>

* plug-ins/script-fu/interp_sliba.c (lreadstring): Accept what
g_strescape throws at us (specifically, octal sequences that start
with any octal digit, and are at most three octal digits long).

* app/makefile.{cygwin,msc}: Update.
1999-09-02 20:54:07 +00:00
Tor Lillqvist 6a71208875 Use _O_TEMPORARY. Removed #ifdef, instead define the Win32-only _O_BINARY
1999-09-01  Tor Lillqvist  <tml@iki.fi>

* app/tile_swap.c (tile_swap_open): Use _O_TEMPORARY. Removed
#ifdef, instead define the Win32-only _O_BINARY and _O_TEMPORARY
as zero if not defined.

* plug-ins/common/spheredesigner.c: Include config.h (#if
HAVE_CONFIG_H). RAND_FUNC and SRAND_FUNC are defined in that.
1999-09-01 04:27:30 +00:00
Tor Lillqvist c056ca170a Add gdisplay_color_ui.[ch].
* app/makefile.{cygwin,msc}: Add gdisplay_color_ui.[ch].
1999-08-31 17:03:34 +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
Tor Lillqvist 387002c04b Add a flags field and corresponding type ToolFlags to PaintCore. The only
1999-08-27  Tor Lillqvist  <tml@iki.fi>

* app/paint_core.h: Add a flags field and corresponding type
ToolFlags to PaintCore. The only flag bit defined so far is
TOOL_CAN_HANDLE_CHANGING_BRUSH, which those tools who don't mind
if the brush changes while painting (as in the case of pixmap pipe
brushes).

* app/paint_core.c: Test above flag before calling the brush's
select_brush method.

* app/airbrush.c
* app/paintbrush.c
* app/pencil.c: Set above flag.

* app/makefile.{cygwin,msc}: Add latest additions.
1999-08-26 21:33:58 +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
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
Tor Lillqvist 7a56ef950d Use g_message, not gimp_message. g_message calls gimp_message eventually.
1999-08-22  Tor Lillqvist  <tml@iki.fi>

* plug-ins/common/psp.c: Use g_message, not gimp_message.
g_message calls gimp_message eventually.

* plug-ins/common/gpb.c: New plug-in for saving Adrian's gpb files
(pixmap brushes) from an RGBA image. Probably just of temporary
value.

* plug-ins/makefile.{cygwin,msc}: Add it.

* plug-ins/common/gbr.c: Use g_message instead of printf.

* app/makefile.{cygwin,msc}: Comment out the gcg stuff here,
too. Remove frac.o.
1999-08-22 19:02:52 +00:00
Tor Lillqvist 1c19f04c46 Also provide a Clear button.
1999-08-21  Tor Lillqvist  <tml@iki.fi>

* app/errorconsole.c: Also provide a Clear button.

* app/gimprc.c: Add a missing static function declaration.

* app/makefile.{cygwin,msc}: Add new files.

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

* plug-ins/common/jpeg.c: Must include glib.h first. You don't
want to know why.

* plug-ins/common/psp.c: New file. This plug-in Loads Paint Shop
Pro files (.psp and .tub). Doesn't yet save them. Handles only 24-
bit images (with or without alpha) correctly so far.

* plug-ins/makefile.{cygwin,msc}: Build psp. Somebody please add
it to the auto* build system, too. I guess a test for zlib (which it
needs) is needed in configure.in.
1999-08-21 19:00:41 +00:00
Tor Lillqvist 4b22d03f10 Fix it. Now the hose itself, interpreted as a pixmap brush (which the hose
* app/gimpbrushhose.c (gimp_brush_hose_load): Fix it. Now the hose
	itself, interpreted as a pixmap brush (which the hose is a
	subclass of), is the first brush in its list. The rest of the
	pixmap brushes in the list are separately allocated ones. Don't
	read the pattern names into dummy buffers, just seek past.

	* app/pixmapbrush.c (pixmapbrush_motion): Now works better, and
	actually steps through the pixmaps in the hose's list. The
	paint_core->brush (which points to a brush hose in the cases we're
	interested in) is temporarily replaced with the current pixmap
	brush to use, and restored after applying the pixmap brush.

	* app/makefile.{cygwin,msc}: Add new files.
1999-08-17 23:32:48 +00:00
Tor Lillqvist b5d790e67e Add G_SQRT2.
* app/appenv.h: Add G_SQRT2.

	* app/iscissors.c: Use it.

	* app/makefile.{cygwin,msc}: Add new files.

	* */makefile.{cygwin,msc}: Use libintl extracted from glibc from a
	separate directory, not from gettext, because of licensing issues
	(we want to use the LGPL version in GTk+, so use it here, too).
1999-08-16 04:59:48 +00:00
Tor Lillqvist cac72d12f8 Add newest files.
* app/makefile.{cygwin,msc} (gimp_OBJECTS): Add newest files.

	* plug-ins/common/winclipboard.c: Speed up by using
	gimp_tile_cache_size().

	* app/gimprc.c
	* plug-ins/script-fu/script-fu-scripts.c: Guard
	use of GLIB_CHECK_VERSION from old GLibs that don't have it.
1999-08-12 22:08:19 +00:00
Tor Lillqvist 21aae5c7ad Add gdiplay_color. Create gimp.def from gimp.sym.
* app/makefile.{cygwin,msc}: Add gdiplay_color. Create gimp.def
 	from gimp.sym.

	* app/gimp.def: Removed.

	* libgimp/gimpenv.c (gimp_data_directory) (Win32): Also check for
	the executable being in the plug-ins subdirectory.

	* plug-ins/makefile.{cygwin,msc}: Install also GIMPressionist
 	brushes, papers and presets.
1999-07-29 22:07:17 +00:00
Tor Lillqvist f8e2b4fa58 New Win32-only plug-in: whole display or single window screenshot. Thanks
* plug-ins/winsnap: New Win32-only plug-in: whole display or
 	single window screenshot. Thanks to Craig Setera.
1999-07-29 00:23:51 +00:00
Tor Lillqvist 0aeb637088 Update gcc instructions. Remove warning about gettext being GPL, as the
* README.win32: Update gcc instructions. Remove warning about
 	gettext being GPL, as the GIMP is GPL, too, of course, and it
 	thus doesn't matter.

	* user_install.bat: Rename the template user gtkrc to gtkrc_user,
 	to reduce user confusion.

	* app/main.c: Small change for gcc on Win32 compilation.

	* */makefile.cygwin
	* app/module_db.c: With newest gcc-2.95 -fnative-struct on Win32,
 	no need to have differently named DLLs (including modules) for
 	(built by) gcc and MSVC.

	* app/module_db.c: Use g_strdup_printf() instead of
 	strlen(), g_malloc() and g_snprintf()

	* libgimp/Makefile.am: No need to distribute gimpfeatures.h.win32,
 	the suitable gimpfeatures.h is built when making the dist.

	* libgimp/gimpfeatures.h.win32: Removed.

	* libgimp/makefile.cygwin
	* libgimp/makefile.msc: Remove gimpfeatures.h.win32.

	* libgimp/gimp.h: Win32 startup code changed a bit.

	* plug-ins/makefile.cygwin
	* plug-ins/makefile.msc: Add the winsnap unofficial plug-in.

	* plug-ins/common/animationplay.c
	* plug-ins/common/gz.c: (Win32) Hack aroung WinMain getting
	clashing declarations because these guys include gdkx.h (which
	includes windows.h), and gimp.h also declares WinMain on its own.
1999-07-21 19:52:20 +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
Tor Lillqvist c940495371 Mark the two functions used by color selection modules for export.
* app/color_notebook.c: Mark the two functions used by color
	selection modules for export.

	* modules/makefile.cygwin
	* app/makefile.cygwin: New files.
1999-07-03 08:27:30 +00:00