Commit Graph

63 Commits

Author SHA1 Message Date
Michael Natterer 299d657ff1 libgimpbase: change gimpprotocol GPParamDefInt's members to gint64
so the full range of any unsigned int param spec's values fits.
2019-08-10 16:25:22 +02:00
Michael Natterer d156028c8a libgimp*, app: add the help-id to the wire protocol
Pass the help-id specified by the procedure to the core, and use it in
the core if set instead of always using the procedure's name (which
was probably good enough for all eternity, but it's still more
consistent this way).
2019-08-08 09:57:56 +02:00
Michael Natterer 7764f8b34b libgimpbase: add support for GParamParam in GPParamDef too
to describe param specs that describe param specs, yay.
2019-08-05 14:12:19 +02:00
Michael Natterer aa505b43dc app, libgimp*: add protocol support for GValues holding a GParamSpec
so we can have PDB introspection procedures for the new plug-in API.
2019-08-05 09:07:45 +02:00
Michael Natterer 32823f1709 libgimpbase: reorder types and structs in gimpprotocol.h
so the next commit becomes more readable.
2019-08-04 23:59:25 +02:00
Michael Natterer 888c42fbb8 libgimpbase: remove the gimp protocol mutex and gp_lock()/gp_unlock()
The protocol is supposed to be used recursively, the locks just
deadlock in some situations. Threaded use of the wire protocol is
simply forbidden.
2019-08-04 22:42:15 +02:00
Michael Natterer ed86de48d2 app, libgimpbase: s/author/authors/ here too 2019-08-02 01:39:09 +02:00
Michael Natterer e36028d2ac app, libgimp, libgimpbase: forgot to support GIMP_TYPE_UNIT on the wire
This commit can serve as an example how to add new types to
GimpProtocol, note that zero public API changes.
2019-07-30 15:04:06 +02:00
Michael Natterer 0a6f157d58 app, libgimp, libgimpbase: big plug-in API refactoring part three
- libgimpbase: change GPParam to transfer all information about the
  GValues we use, in the same way done for GPParamDef. GPParam is now
  different from GimpParam from libgimp, pointers can't be casted any
  longer. The protocol is now completely GimpPDBArgType-free. Remove
  gp_params_destroy() from the public API.

- libgimp: add API to convert between an array of GPParams and
  GimpValueArray, the latter is now the new official API for dealing
  with procedure arguments and return values, GimpParam is cruft (the
  wire now talks with GimpPlugIn more directly than with the members
  of GimpPlugInInfo, which need additional compat conversions).

- libgimp, app: rename gimpgpparamspecs.[ch] to simply
  gimpgpparams.[ch] which is also more accurate because they now
  contain GValue functions too. The code that used to live in
  app/plug-in/plug-in-params.h is now completely in libgimp.

- app: contains no protocol compat code any longer, the only place
  that uses GimpPDBArgType is the PDB query procedure implementation,
  which also needs to change.

- app: change some forgotten int32 run-modes to enums.
2019-07-29 12:22:58 +02:00
Michael Natterer 32ea28b6b1 app, libgimp, libgimpbase: plug-in and PDB protocol refactoring part two
- Change the wire protocol's GPProcInstall to transmit the entire
  information needed for constructing all GParamSpecs we use, don't
  use GimpPDBArgType in GPProcInstall but an enum private to the wire
  protocol plus the GParamSpec's GType name. Bump the wire protocol
  version.

- Add gimpgpparamspecs.[ch] in both app/plug-in/ and libgimp/ which
  take care of converting between GPParamDef and GParamSpec. They
  share code as far as possible.

- Change pluginrc writing and parsing to re-use GPParamDef and the
  utility functions from gimpgpparamspecs.

- Remove gimp_pdb_compat_param_spec() from app/pdb/gimp-pdb-compat.[ch],
  the entire core uses proper GParamSpecs from the wire protocol now,
  the whole file will follow down the drain once we use a GValue
  representation on the wire too.

- In gimp_plug_in_handle_proc_install(), change the "run-mode"
  parameter to a GParamSpecEnum(GIMP_TYPE_RUN_MODE) (if it is not
  already an enum). and change all places in app/ to treat it as an
  enum value.

- plug-ins: fix cml-explorer to register correctly, a typo in
  "run-mode" was never noticed until now.

- Add gimpgpcompat.[ch] in libgimp to deal with all the transforms
  between old-style wire communication and using GParamSpec and
  GValue, it contains some functions that are subject to change or
  even removal in the next steps.

- Change the libgimp GimpProcedure and GimpPlugIn in many ways to be
  able to actually install procedures the new way.

- plug-ins: change goat-exercise to completely use the new GimpPlugIn
  and GimpProcedure API, look here to see how plug-ins will look in
  the future, of course subject to change until this is finished.

- Next: changing GPParam to transmit all information about a GValue.
2019-07-28 17:34:40 +02:00
Ell c288b28ac8 libgimpbase, libgimp, app: pass misc. GEGL config to plug-ins
Pass the GEGL tile-cache size, swap path, and thread-count to plug-
ins as part of their config, and have libgimp set the plug-in's
GeglConfig accordingly upon initialization.
2018-11-19 17:03:15 -05:00
Michael Natterer 03feba0f35 libgimpbase, app: remove the plug-in menu_path compat code
Registering a full menu path as a procedure's menu label is now
forbidden and causes the procedure to be rejected.

Bump the plug-in protocol version so a pluginrc containing such cruft
is not used.
2018-07-13 14:07:44 +02:00
Michael Natterer 5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
Michael Natterer 8c9c091021 Issue #701 - Add the ability to embed the GIMP built-in sRGB profile...
...upon exporting an image

Step 1: make it configurable just like "Export EXIF" etc.

app, libgimp: add "export-color-profile" config option

Add it to the preferences dialog, and pass it on to plug-ins in the
GPConfig message. Add gimp_export_color_profile() to libgimp.

Nothing uses this yet.
2018-06-18 02:19:41 +02:00
Michael Natterer b36205176e app, libgimp*: remove the config option to disable tooltips
Also remove all traces of it from the plug-in protocol and raise the
protocol version to 0x0100 (we now allow features and therefore
version bumps in stable, and the master protocol version should always
be higher). Fix the code that aborts plug-in startup on protocol
version mismatch, we can't use gimp_message() because we have no
protocol.
2018-06-06 19:23:30 +02:00
Ell 97925de8eb libgimpbase, libgimp, app: pass icon theme dir to plug-ins through config
Pass the current icon theme directory to plug-ins through the
config message, and add a gimp_icon_theme_dir() libgimp function
for retrieving it.  Note that we already have a similar
gimp_icon_get_theme_dir() PDB function, which we keep around, since
it can be used to dynamically query for the current icon dir,
unlike the former, and since it returns a dynamically-allocated
string, while the rest of the config-related functions return
statically allocated strings.

Use the new function, instead of gimp_get_icon_theme_dir(), in
gimp_ui_init().  This allows gimp_ui_init() to run without making
any PDB calls.  Consequently, this allows us to start plug-ins that
call gimp_ui_init() without entering the main loop in the main app.
We're going to add a plug-in that displays an interactive dialog
while the main app is blocking waiting for an operation to
complete, and we need to be able to start the plug-in without
entering the main loop, to avoid the possibility of arbitrary code
being executed during the wait.

Bump the protocol version.
2018-05-29 16:04:28 -04:00
Michael Natterer 7549b6efe4 Bug 794132 - Make the plug-in protocol version part of the plug-in command line
Also clean GPConfig struct from deprecated members and bump the
plug-in protocol version number.
2018-05-20 21:06:30 +02:00
Michael Natterer afe0c794e6 libgimpbase: increase GIMP_PROTOCOL_VERSION, the config message has changed 2018-01-13 19:00:05 +01:00
Jehan 4c4fa84f85 app, libgimp, libgimpbase: new gimp_export_(exif|xmp|iptc)() functions.
These allows plug-ins to know the preferences regarding metadata.
2018-01-11 22:17:32 +01:00
Jehan 15f7344038 libgimp, libgimpbase: allow multi-threaded plugins by locking...
...protocol calls.
Some calls are waiting for answers, for instance plugin procedures, and
tiles which expects data and acknoledgement.
This would result in error messages such as:
"expected tile ack and received: 5" (5 is GP_PROC_RUN)
Typically because a thread would run a procedure while another would
receive tiles.
2017-08-16 12:09:56 +02:00
Michael Natterer 57da340f78 app, libgimp: pass "use-opencl" to plug-ins
and configure Gegl on the plug-in side accordingly. This bumps
the GIMP protocol version.
2014-02-25 21:25:40 +01:00
Michael Natterer 2d6f808ff8 pdb: add a new PDB group "item" and move lots of functions to it
The item groups has all the duplicated functionality from drawable
and vectors (name, visible, linked etc).

Hijack the unused GIMP_PDB_REGION and turn it into GIMP_PDB_ITEM;
change all protocol aware files accordingly and bump the protocol
version number. Change script-fu to handle the new type.
2010-07-09 09:34:44 +02:00
Michael Natterer d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
Sven Neumann 81131c0bb4 Add new PDB data type PDB_COLORARRAY for using arrays of GimpRGB colors as
2008-07-14  Sven Neumann  <sven@gimp.org>

	Add new PDB data type PDB_COLORARRAY for using arrays of GimpRGB
	colors as argument or return value.

	* libgimpbase/gimpbaseenums.[ch] (enum GimpPDBArgType): replaced
	the unused GIMP_PDB_BOUNDARY with GIMP_PDB_COLORARRAY.

	* libgimpbase/gimpprotocol.h: increased GIMP_PROTOCOL_VERSION.
	(struct _GPParam): added d_colorarray entry to the union.

	* libgimpbase/gimpprotocol.c
	* libgimp/gimp.[ch]
	* app/pdb/gimp-pdb-compat.c
	* app/plug-in/plug-in-params.c
	* app/plug-in/gimpplugin-message.c
	* tools/pdbgen/pdb.pl: deal with the new data type.

	* tools/pdbgen/enums.pl: regenerated.

	* plug-ins/pygimp/pygimp-pdb.c
	* plug-ins/script-fu/scheme-wrapper.c: handle the new data type.


svn path=/trunk/; revision=26189
2008-07-14 14:09:16 +00:00
Sven Neumann 26d1021e77 Properly pass the focus from the core to plug-in dialogs:
2008-03-27  Sven Neumann  <sven@gimp.org>

	Properly pass the focus from the core to plug-in dialogs:

	* libgimpbase/gimpprotocol.[ch]: added a user_time member to the
	GimpConfig struct. Bumped the protocol version to 0x0012.

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: added gimp_get_user_time() to get the
	timestamp of the last user interaction.

	* app/plug-in/gimppluginmanager-call.c
	(gimp_plug_in_manager_call_run): pass the timestamp to in the
	GimpConfig message.

	* libgimp/gimp.[ch]:
	* libgimp/gimp.def: added method to access the timestamp as set
	in the config message.

	* libgimp/gimpui.c (gimp_ui_init): construct a fake startup ID and
	set the DESKTOP_STARTUP_ID environment variable.

svn path=/trunk/; revision=25263
2008-03-27 16:30:29 +00:00
Sven Neumann fb095cf281 don't redefine the GimpParasite struct, just use it.
2007-04-12  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpprotocol.[ch] (struct _GPParam): don't redefine
	the GimpParasite struct, just use it.

	* libgimp/gimp.c: include gimpparasite.h.

	* libgimp/gimpitemcombobox.c (gimp_item_combo_box_new): initialize
	combo_box_type to suppress a compiler warning.

	* libgimpwidgets/gimpmemsizeentry.c (gimp_memsize_entry_new):
	avoid dereferencing a type-punned pointer.


svn path=/trunk/; revision=22237
2007-04-12 14:32:44 +00:00
Manish Singh f1e54be89d app/plug-in/plug-in-params.c libgimp/gimp.[ch]
2006-06-25  Manish Singh  <yosh@gimp.org>

        * app/plug-in/plug-in-params.c
        * libgimp/gimp.[ch]
        * libgimpbase/gimpprotocol.[ch]
        * plug-ins/common/colormap-remap.c
        * plug-ins/common/curve_bend.c
        * plug-ins/common/grid.c
        * plug-ins/pygimp/pygimp-pdb.c
        * plug-ins/script-fu/siod-wrapper.c
        * tools/pdbgen/pdb.pl: turn d_int8 and d_int8array into guint8.
        Fixes bug #344431.
2006-06-25 23:30:15 +00:00
Sven Neumann 6c25ae9374 Added basic framework for plug-ins to access the use_cpu_accel
2006-06-01  Sven Neumann  <sven@gimp.org>

	Added basic framework for plug-ins to access the use_cpu_accel
	configuration (bug #342860):

	* app/composite/gimp-composite.[ch]: added new function
	gimp_composite_use_cpu_accel().

	* libgimpbase/gimpprotocol.[ch]: added use_cpu_accel to the config
	message.

	* app/plug-in/gimppluginmanager-call.c: pass the return value of
	gimp_composite_use_cpu_accel() for config.use_cpu_accel.

	* libgimp/gimp.[ch]: make the config value accessible by means of
	a new function gimp_use_cpu_accel().

	* libgimp/gimp.def: updated.
2006-06-01 15:34:58 +00:00
Sven Neumann f2df31a50e converted tabs to spaces.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* libgimp*/gimp*.[ch]: converted tabs to spaces.
2006-04-12 10:53:28 +00:00
Sven Neumann 872d9506e5 factored out some code to a utility function.
2006-03-10  Sven Neumann  <ven@gimp.org>

	* app/widgets/gimpaction.c: factored out some code to a utility
	function.

	* app/config/gimpguiconfig.[ch]
	* app/config/gimprc-blurbs.h
	* app/dialogs/preferences-dialog.c
	* app/gui/gui.c
	* app/plug-in/plug-in-run.c
	* libgimp/gimp.c
	* libgimpbase/gimpprotocol.[ch]: renamed tool_tips to tooltips in
	variables and in the gimprc.

	* app/config/gimpbaseconfig.[ch]: removed stingy_memory_use from
	the GimpBaseConfig struct.
2006-03-10 16:40:09 +00:00
Michael Natterer a0d231b33c renamed GIMP_PDB_PATH to GIMP_PDB_VECTORS and add the former as an alias
2005-12-29  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpbaseenums.[ch] (enum GimpPDBArgType): renamed
	GIMP_PDB_PATH to GIMP_PDB_VECTORS and add the former as an alias
	for the latter.

	* libgimp/gimp.h (union _GimpParamData): added back d_path member
	to maintian source compatibility.

	* tools/pdbgen/pdb.pl
	* libgimp/gimp.c
	* app/pdb/procedural_db.c
	* app/plug-in/plug-in-params.c
	* libgimpbase/gimpprotocol.[ch]
	* plug-ins/pygimp/pygimp-pdb.c
	* plug-ins/script-fu/siod-wrapper.c: s/GIMP_PDB_PATH/GIMP_PDB_VECTORS/

	* app/pdb/image_cmds.c
	* app/pdb/procedural_db_cmds.c
	* app/pdb/vectors_cmds.c
	* libgimp/gimpimage_pdb.c
	* libgimp/gimpvectors_pdb.c
	* tools/pdbgen/enums.pl: regenerated.
2005-12-29 01:07:02 +00:00
Sven Neumann 4ec5642b50 declare gp_params_destroy() in the private header file.
2005-12-14  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpprotocol.[ch]: declare gp_params_destroy() in
	the private header file.

	* libgimp/gimp.c (gimp_destroy_params): removed extern declaration.
2005-12-14 13:19:18 +00:00
Sven Neumann 62b5c77c76 app/config/gimpguiconfig.[ch] added gimprc option "show-help-button".
2004-10-04  Sven Neumann  <sven@gimp.org>

        * app/config/gimpguiconfig.[ch]
        * app/config/gimprc-blurbs.h: added gimprc option "show-help-button".

        * app/dialogs/preferences-dialog.c: added a GUI for it.

        * app/dialogs/file-save-dialog.c
        * app/dialogs/image-new-dialog.c
        * app/dialogs/quit-dialog.c
        * app/display/gimpdisplayshell-close.c
        * app/widgets/gimphelp-ids.h: don't set help-ids on confirmation
        dialogs.

        * libgimpbase/gimpprotocol.[ch]
        * libgimp/gimp.[ch]: added boolean "show_help_button" to the
        config message.

        * app/plug-in/plug-in-run.c: pass the new preference to the plug-in.

        * libgimpwidgets/gimpdialog.[ch]: added new function that allows to
        set whether new dialogs should get a help button added.

        * app/gui/gui.c
        * libgimp/gimpui.c: call gimp_dialogs_show_help_button() according
        to the gimprc settings.
2004-10-04 16:21:52 +00:00
Michael Natterer 4f6f5316eb Restore binary compatibility of the wire protocol that was broken by the
2004-09-13  Michael Natterer  <mitch@gimp.org>

	Restore binary compatibility of the wire protocol that was
	broken by the recent GPConfig changes:

	* libgimpbase/gimpprotocol.[ch] (struct _GPConfig)
	(_gp_config_read)
	(_gp_config_write): argh, we can't use the two bytes padding
	because that's just a binary compatible struct change, but inserts
	two bytes into the byte stream that goes over the wire. Use the
	first two bytes of the former "gdouble gamma" instead.

	* app/plug-in/plug-in-run.c (plug_in_run)
	* libgimp/gimp.c (gimp_config): changed accordingly.
2004-09-13 13:33:56 +00:00
Michael Natterer 4085b1fecf replaced the never used "gdouble gamma" with 8 reserved gint8 and stuffed
2004-09-03  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpprotocol.h (struct _GPConfig): replaced the
	never used "gdouble gamma" with 8 reserved gint8 and stuffed two
	gint8 behind "gint8 show_tool_tips" where they fit in in a binary
	compatible way due to 32bit aligning of the following "gint32
	min_colors". Use the latter ones for "check_size" and
	"check_type".

	* libgimpbase/gimpprotocol.c (_gp_config_read,write): changed
	accordingly to pass the new stuff over the wire.

	* app/plug-in/plug-in-run.c: ditto. Pass the transpareny values
	from GimpDisplayConfig to plug-ins.

	* libgimp/gimp.[ch] (gimp_config): remember the new config values.
	(gimp_check_size,type): new functions returning the new config values.

	* libgimp/gimpdrawablepreview.c (gimp_drawable_preview_init):
	use the new values to configure preview->area accordingly.
2004-09-03 12:19:26 +00:00
Sven Neumann ea7fb10555 Michael Natterer <mitch@gimp.org>
2004-03-23  Sven Neumann  <sven@gimp.org>
            Michael Natterer <mitch@gimp.org>

        * Made 2.0.0 release.
2004-03-23 18:31:35 +00:00
Sven Neumann 3fb6adbcfb changed wm_name to app_name in the GimpConfig struct; increased
2004-02-17  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpprotocol.[ch]: changed wm_name to app_name in
	the GimpConfig struct; increased GIMP_PROTOCOL_VERSION.

	* app/plug-in/plug-in-run.c (plug_in_run): pass the return value
	of g_get_application_name() to the plug-ins.

	* libgimp/gimp.[ch]: removed function gimp_wm_name(). Set the
	plug-in's application name if an app_name is passed in the config
	message.

	* libgimp/gimpui.c: removed usage of gimp_wm_name(); it was wrong
	to do it this way and caused all plug-ins claim to be the gimp-1.3
	executable in their error messages.

	* libgimp/gimp.def: removed symbol gimp_wm_name.

	* configure.in: reset gimp_binary_age and gimp_interface_age.

	* app/core/gimpimage.c (gimp_image_name_changed): removed unused
	variable.
2004-02-17 14:03:07 +00:00
Sven Neumann 74c8218a3f added GIMP_CONFIG_ERROR_VERSION to GimpConfigError enum.
2003-11-08  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-error.h: added GIMP_CONFIG_ERROR_VERSION
	to GimpConfigError enum.

	* libgimpbase/gimpprotocol.h: renamed GP_VERSION to
	GIMP_PROTOCOL_VERSION.

	* libgimp/gimp.c
	* app/plug-in/plug-in-run.c: changed accordingly.

	* app/plug-in/plug-in-rc.[ch]: write the protocol version to the
	pluginrc and stop parsing when a wrong protocol version is found.

	* app/plug-in/plug-ins.c: pass a GError to plug_in_rc_parse().
2003-11-07 23:47:35 +00:00
Michael Natterer efd9a3e14a added "wm_name", "wm_class", "display_name" and "monitor_number" to the
2003-11-07  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpprotocol.[ch]: added "wm_name", "wm_class",
	"display_name" and "monitor_number" to the GPConfig message.
	Increased protocol version number.

	* libgimp/gimp.[ch] (gimp_config): read them from the GPConfig
	message and remember them.
	Added public accessors for the new config values.

	* libgimp/gimpui.c (gimp_ui_init): pass wm_name and wm_class to
	gtk_init() and export the display/screen to use to the
	environment.

	* app/core/gimp.[ch]: added vtable entries to get the values
	from the GUI.

	* app/gui/gui-vtable.c: implement the vtable entries.

	* app/plug-in/plug-in-run.c: fill in the GPConfig values using
	the new Gimp vtable functions.

	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell.c
	* app/gui/about-dialog.c
	* app/gui/channels-commands.c
	* app/gui/color-notebook.c
	* app/gui/convert-dialog.c
	* app/gui/file-dialog-utils.[ch]
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gradients-commands.c
	* app/gui/grid-dialog.c
	* app/gui/image-commands.c
	* app/gui/info-dialog.[ch]
	* app/gui/info-window.c
	* app/gui/layers-commands.c
	* app/gui/module-browser.c
	* app/gui/offset-dialog.c
	* app/gui/palette-import-dialog.c
	* app/gui/qmask-commands.c
	* app/gui/resize-dialog.c
	* app/gui/splash.c
	* app/gui/stroke-dialog.c
	* app/gui/templates-commands.c
	* app/gui/tips-dialog.c
	* app/gui/vectors-commands.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpdock.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpviewabledialog.[ch]
	* libgimpwidgets/gimpfileselection.c
	* libgimpwidgets/gimpquerybox.c
	* libgimpwidgets/gimpunitmenu.c
	* plug-ins/helpbrowser/dialog.c
	* plug-ins/ifscompose/ifscompose.c: replaced all calls to
	gtk_window_set_wmclass() by gtk_window_set_role() and all
	"const gchar *wmclass_name" parameters by "const gchar *role".
	Cleaned up the window role strings.
2003-11-07 17:29:02 +00:00
Michael Natterer 3b1f805bb1 Really commit the changes this time:
2003-06-20  Michael Natterer  <mitch@gimp.org>

	Really commit the changes this time:

	* configure.in: bumped version number to 1.3.16.

	* libgimpbase/gimpprotocol.h: increased protocol version number so
	old extensions will refuse to load.
2003-06-20 10:36:28 +00:00
Michael Natterer bbc13c5199 removed gimp_help_init() and gimp_help_free(). Added _gimp_help_init()
2003-01-07  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimphelpui.[ch]: removed gimp_help_init() and
	gimp_help_free(). Added _gimp_help_init() instead.

	* libgimpwidgets/gimpwidgets.def: changed accordingly.

	* libgimpwidgets/gimpwidgets.c (gimp_widgets_init): call
	_gimp_help_init() so it doesn't need to be done in all plug-ins
	manually.

	* libgimp/gimpcompat.h: added gimp_help_init() and gimp_help_free()
	here as COMPAT_CRUFT.

	* app/gui/gui.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/AlienMap.c
	* plug-ins/common/AlienMap2.c
	* plug-ins/common/CML_explorer.c
	* plug-ins/common/blur.c
	* plug-ins/common/curve_bend.c
	* plug-ins/common/gtm.c
	* plug-ins/common/illusion.c
	* plug-ins/common/jigsaw.c
	* plug-ins/common/plasma.c
	* plug-ins/common/polar.c
	* plug-ins/common/ps.c
	* plug-ins/common/randomize.c
	* plug-ins/common/sinus.c
	* plug-ins/common/snoise.c
	* plug-ins/common/sparkle.c
	* plug-ins/common/uniteditor.c
	* plug-ins/common/warp.c
	* plug-ins/common/wind.c
	* plug-ins/gap/gap_arr_dialog.c
	* plug-ins/gap/gap_mov_dialog.c
	* plug-ins/gap/gap_navigator_dialog.c
	* plug-ins/gdyntext/gdyntext_ui.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/gimpressionist/gimpressionist.c
	* plug-ins/maze/maze_face.c
	* plug-ins/print/gimp_main_window.c
	* plug-ins/sel2path/sel2path.c: removed the calls to
	gimp_help_init() and gimp_help_free().

	Fixed bug #81017:

	* libgimpbase/gimpprotocol.[ch]: added "guint8 show_tool_tips"
	to the GPConfig message. Increased the protocol version number.

	* app/plug-in/plug-in.c: pass the value of gui_config->show_tool_tips.

	* libgimp/gimp.[ch]: added gimp_show_tool_tips() to get the value
	which was passed in the GPConfig message.

	* libgimp/gimpui.c (gimp_ui_init): disable the tooltips
	if show_tool_tips is FALSE.

	* plug-ins/MapObject/mapobject_main.[ch]
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/jigsaw.c
	* plug-ins/gap/gap_navigator_dialog.c
	* plug-ins/gfig/gfig.c: removed all plug-in specific GUI for
	enabling/disabling tooltips.
2003-01-07 17:00:49 +00:00
Michael Natterer dba356d815 libgimpbase/gimpprotocol.[ch] pass "gpointer user_data" to all functions,
2002-05-16  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpprotocol.[ch]
	* libgimpbase/gimpwire.[ch]: pass "gpointer user_data" to all
	functions, which in gets turn passed to the registered reader,
	writer, and flusher funcs.

	* libgimp/gimp.c
	* libgimp/gimptile.c: pass NULL as user_data. We have only one
	pipe on the plug-in side.

	* app/plug-in/plug-in.c: pass the PlugIn as user_data. As a
	consequence, got rid of more global variables. The global
	"current_plug_in" and the plug_in_push()/pop() madness are still
	there. Will reeplace them by some less ugly hack later...

2002-05-16  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/tmpl/gimpprotocol.sgml
	* libgimpbase/tmpl/gimpwire.sgml: regenerated after API change.
2002-05-16 17:41:38 +00:00
Nate Summers e1db698bfd implement a new pluginrc flag, "has-init", so that only plug-ins with init
* app/plug-in/plug-in-rc.c: implement a new pluginrc flag,
 	"has-init", so that only plug-ins with init functions are
 	initialized.

	* app/plug-in/plug-in.ch
 	* libgimp/gimp.c
 	* libgimpbase/gimpprotocol.ch: send a new gimpwire message,
 	GP_HAS_INIT during the query stage if the plug-in needs to be
 	initialized.  Only invoke the plug-in in init mode if the plug-in
 	has an init function.
2002-02-12 07:59:16 +00:00
Sven Neumann 757017a8e2 bumped version number to 1.3.1. Require Glib/GTK+-1.3.11 and Pango-0.22.
2001-11-23  Sven Neumann  <sven@gimp.org>

	* configure.in: bumped version number to 1.3.1.
	Require Glib/GTK+-1.3.11 and Pango-0.22. Removed GDK_DISABLE_COMPAT_H
	and GTK_DISABLE_COMPAT_H from our default CFLAGS since they don't
	exist any longer.

	* RELEASE-TO-CVS.patch: removed since the glib/gtk+ API is supposed to
	be frozen now.

	* HACKING: removed reference to RELEASE-TO-CVS.patch

	* app/gui/menus.c
	* app/tools/gimptexttool.c: applied RELEASE-TO-CVS.patch to conform
	to the new GTK+/Pango API.

	* app/core/Makefile.am: generate marshallers with gimp_marshal prefix.

	* app/core/gimpmarshal.list: added all marshallers we use.

	* app/core/gimpmarshal.[ch]: regenerated.

	* app/[lots of .c files]: use gimp_marshal_* for all marshallers.

	* data/images/
	* app/app_procs.c
	* app/gui/splash.c:

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimputils.[ch]: removed since they are no longer needed.

	* app/gimprc.c
	* plug-ins/common/ps.c
	* plug-ins/gdyntext/gdyntext.c
	* plug-ins/gdyntext/gdyntextcompat.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/script-fu/script-fu-scripts.c: use glib functions instead
	of gimp_strescape() and gimpstrcompress().

	* cleaned up all header files: use G_BEGIN_DECLS/G_END_DECLS, declared
	all _get_type function as G_GNUC_CONST.

	* tools/pdbgen/enumcode.pl
	* tools/pdbgen/lib.pl: make them generate header files using
	G_BEGIN_DECLS/G_END_DECLS.

	* pixmaps/Makefile.am
	* pixmaps/wilber3.xpm: removed ...
	* data/images/tips_wilber.png: ... and added here as PNG

	* app/gui/tips-dialog.c: load the Wilber on demand using GdkPixbuf.

	* data/images/gimp_splash.ppm: removed ...
	* data/images/gimp_splash.png: ... and added as PNG

	* app/app_procs.c
	* app/gui/splash.[ch]: load the splash image using GdkPixbuf.

	* app/gui/about-dialog.c: sink the GtkPreview.
2001-11-22 23:46:13 +00:00
Michael Natterer a109f0ff40 removed the "palette" PDB type again. Incremented protocol version.
2001-11-09  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpprotocol.[ch]: removed the "palette" PDB type
	again. Incremented protocol version.

	* app/plug_in.c
	* app/pdb/procedural_db.c
	* libgimp/gimp.c
	* libgimpbase/gimpbasetypes.h: changed accordingly.

	* app/pdb/procedural_db_cmds.c
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2001-11-09 19:04:41 +00:00
Nate Summers 6ffaf7317c app/plug_in.c libgimp/gimp.c libgimpbase/gimpbasetypes.h
* app/plug_in.c
 	* libgimp/gimp.c
	* libgimpbase/gimpbasetypes.h
 	* libgimpbase/gimpprotocol.c
 	* libgimpbase/gimpprotocol.h
 	* tools/pdbgen/pdb/palette.pdb: added preliminary pdb support to
 	manipulate palettes.  Incremented plugin interface version number.

 	* app/pdb/internal_procs.c
 	* app/pdb/palette_cmds.c
 	* app/pdb/procedural_db.c
	* app/pdb/procedural_db_cmds.c
	* libgimp/gimppalette_pdb.c
	* libgimp/gimppalette_pdb.h
 	* plug-ins/script-fu/script-fu-constants.c
 	* tools/pdbgen/enums.pl: regenerated
2001-10-28 00:53:42 +00:00
Sven Neumann 334911e271 require GTK+-1.3.8 and PangoFT2-0.19.
2001-09-19  Sven Neumann  <sven@gimp.org>

	* configure.in: require GTK+-1.3.8 and PangoFT2-0.19.

	* app/devices.c:
	* app/tools/gimppainttool.c: removed intermediate hacks that are no
	longer needed with the new GTK+ release.

	* app/plug_in.c
	* libgimp/gimp.[ch]
	* libgimp/gimpui.c
	* libgimpbase/gimpprotocol.[ch]: removed use_xshm and color_cube
	variables and accessor functions.

	* app/errors.c: use gtk_exit() instead of gdk_exit().

	* app/gdisplay.c: use Pango API to determine cursor label width. This
	does not work correctly, but at least it compiles...

	* app/gui/splash.c: follow Pango API changes.

	* app/tools/gimpcurvestool.[ch]: use PangoLayouts to draw text.

	* app/tools/gimptexttool.c: follow Pango API changes.

	* app/widgets/gimpfontselection-dialog.c
	* app/widgets/gimpfontselection.c: mostly rewritten following the
	changes in GtkFontSelection. This is unusable at the moment and
	crashes, but at least it compiles again...

	* plug-ins/Makefile.am: temporarily disabled build of ifscompose since
	it does not compile any longer after the latest GDK cleanups.

	* plug-ins/common/nlfilt.c: gimp_color_cube() is obsolete.
2001-09-19 14:42:35 +00:00
Michael Natterer dcaeb08a13 remove the usage of printf()/scanf() when sending doubles over the wire.
2001-07-15  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpwire.c: remove the usage of printf()/scanf()
	when sending doubles over the wire. Instead, rely on the memory
	layout of gdouble being IEEE compliant and transmit 8 bytes in
	network byte order.

	* libgimpbase/gimpprotocol.h: increase GP_VERSION because this
	makes the wire protocol binary incompatible.

	* app/main.c
	* libgimp/gimp.c: removed the setlocate(LC_NUMERIC,"C") workaround.
2001-07-15 20:47:03 +00:00
Sven Neumann 0d533abbdd tools/pdbgen/lib.pl tools/pdbgen/pdb.pl tools/pdbgen/pdb/channel.pdb
2001-01-25  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/lib.pl
	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/tools.pdb: changed these with the help of
	Yosh. PDB functions take GimpRGB as color type now.

	* app/plug_in.c
	* app/pdb/channel_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/palette_cmds.c
	* app/pdb/procedural_db.[ch]
	* app/pdb/tools_cmds.c
	* libgimp/gimp.[ch]
	* libgimp/gimpchannel.[ch]
	* libgimp/gimpchannel_pdb.[ch]
	* libgimp/gimppalette_pdb.[ch]
	* libgimp/gimpprotocol.[ch]
	* libgimp/gimptools_pdb.[ch]: incremented Gimp protocol version
	and changed color type from array of chars to GimpRGB.

	* libgimp/Makefile.am
	* libgimp/gimppalette.[ch]: removed these files again

	* app/libgimp_glue.[ch]
	* libgimpwidgets/gimpcolorbutton.c
	* plug-ins/Lighting/lighting_main.c
	* plug-ins/Lighting/lighting_preview.c
	* plug-ins/MapObject/mapobject_image.c
	* plug-ins/MapObject/mapobject_main.c
	* plug-ins/MapObject/mapobject_preview.c
	* plug-ins/common/apply_lens.c
	* plug-ins/common/blinds.c
	* plug-ins/common/borderaverage.c
	* plug-ins/common/checkerboard.c
	* plug-ins/common/colorify.c
	* plug-ins/common/colortoalpha.c
	* plug-ins/common/cubism.c
	* plug-ins/common/exchange.c
	* plug-ins/common/film.c
	* plug-ins/common/gif.c
	* plug-ins/common/grid.c
	* plug-ins/common/mapcolor.c
	* plug-ins/common/mblur.c
	* plug-ins/common/nova.c
	* plug-ins/common/papertile.c
	* plug-ins/common/png.c
	* plug-ins/common/polar.c
	* plug-ins/common/psd.c
	* plug-ins/common/semiflatten.c
	* plug-ins/common/sinus.c
	* plug-ins/common/sparkle.c
	* plug-ins/common/tiff.c
	* plug-ins/common/vpropagate.c
	* plug-ins/common/warp.c
	* plug-ins/common/whirlpinch.c
	* plug-ins/gap/gap_filter_iterators.c
	* plug-ins/gap/gap_mov_dialog.c
	* plug-ins/gdyntext/gdyntext.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gfli/gfli.c
	* plug-ins/ifscompose/ifscompose.c
	* plug-ins/maze/handy.c
	* plug-ins/mosaic/mosaic.c
	* plug-ins/pagecurl/pagecurl.c
	* plug-ins/script-fu/script-fu-scripts.c
	* plug-ins/script-fu/script-fu.c
	* plug-ins/xjt/xjt.c: changed accordingly. A few plug-ins need
	to be looked at more closely after this change. I tried to put
	FIXME comments into those.
2001-01-25 01:20:05 +00:00
Tor Lillqvist 47328ffd2e libgimp/gimp.c libgimp/gimp.h libgimp/gimpmenu.c libgimp/gimpprotocol.c
2000-07-30  Tor Lillqvist  <tml@iki.fi>

	* libgimp/gimp.c
	* libgimp/gimp.h
	* libgimp/gimpmenu.c
	* libgimp/gimpprotocol.c
	* libgimp/gimpprotocol.h
	* libgimp/gimp.def
	* app/plug_in.c
	* plug-ins/helpbrowser/helpbrowser.c
	* plug-ins/script-fu/script-fu.c: As the GLib main loop and IO
	channel implementation on Win32 now provides the same interface as
	that on Unix, much of the Win32-only crap could be
	removed. Especially, no need for "wakeup" out-of-band messages to
	wake up pipe readers. No need for plug-ins to tell GIMP their
	thread id.

	* libgimp/gimp.c (gimp_extension_process): On Win32, use the new
	g_io_channel_win32_wait_for_condition() function.

	* plug-ins/makefile.cygwin: Add the homogenizer plug-in to the
	unofficial part.
2000-07-29 21:32:55 +00:00