Commit graph

23 commits

Author SHA1 Message Date
Jehan
0d50753cca Revert (partly) "app, pdb, libgimp: use "#pragma once" instead of:"
This reverts commit 246f9d284f.

This only reverts the part modifying libgimp* headers. All the part
switching to #pragma once in app/ was kept. See #14668.
2025-08-14 00:59:16 +02:00
Michael Natterer
246f9d284f app, pdb, libgimp: use "#pragma once" instead of:
#ifndef __FOO_H__
 #define __FOO_H__

 /* declarations  */

 #endif /* __FOO_H__ */

And some cleanups while I saw the headers.
This is far from finished...
2025-07-13 03:21:37 +02:00
Jehan
5ed3bc33e0 app, libgimp, pdb: gimp_gradient_get_custom_samples() also returns an array of colors. 2024-11-03 13:35:16 +01:00
Jehan
6327d1b3ef app, libgimp, pdb, plug-ins: gimp_gradient_get_uniform_samples() returns an array of GeglColor. 2024-11-03 13:35:16 +01:00
Jehan
ea5824ebd7 app, libgimp, pdb: fix other int sizes.
Avoid the stack smashing bug from yesterday in other functions.
Additionally to fixing other functions, do not cast the pointer to size
in the PDB generation scripts so that we can quickly spot such bugs in
the future, through compilation time warnings, instead of hiding them.
2024-10-28 22:08:45 +01:00
Jehan
ac2bef4410 app, libgimp, pdb, plug-ins: array size's type should be gsize.
This changes the signature of generated functions in libgimp with array
arguments.
2024-10-25 23:28:42 +02:00
Jehan
b6856af9d8 app: GimpGradient now uses GeglColor.
I still see some limitations in GimpGradient, and in particular, they are still
always stored as RGB in GGR files. It would be nice if we could store the actual
color format. This way, if someone chooses a gradient stop as Lab or CMYK color,
that's what the gradient file would keep track of. But also even storing the
space of a color (instead of storing/loading always in sRGB, even though this
may still work fine as we store unbounded double values). This might warrant for
a v2 of GGR file format.

This commit also fixes loading of SVG gradient which was apparently broken
regarding hexadecimal color parsing.

Finally I improve gegl_color_set_alpha() by adding an alpha channel when the
initial format had none.
2024-02-11 23:28:03 +01:00
Michael Natterer
a858474fe8 pdb: GimpResource: add is_editable(), rename(), duplicate(). delete()
and remove the API from its subclasses.
2023-06-06 16:33:36 +02:00
Michael Natterer
9638102418 Introduce a global ID space for GimpData/GimpResource objects
Much like for images and items. Change the PDB to transmit IDs
instead of names for brush, pattern etc. and refactor a whole
lot of libgimp code to deal with it.

	modified:   libgimp/gimpplugin-private.h
2023-05-31 16:12:04 +02:00
lloyd konneker
d720375e97 2.99 libgimp: add GimpResource, GimpBrush, GimpPropWidgetBrush
So procedures can declare args and GimpProcedureDialog show chooser
widgets

Fix so is no error dialog on id_is_valid for resources

Palette.pdb changes and testing

Memory mgt changes

Gradient pdb

Font and Pattern tests

Test  brush, palette

Cleanup, remove generator

Rebase, edit docs, install test-dialog.py

Whitespace, and fix failed distcheck

Fix some clang-format, fix fail distcheck

Fix distcheck

Cleanup from review Jehan
2023-01-14 12:58:05 +00:00
Jehan
71ccaa21ee pdb, libgimp: remove double API generation from PDB.
All plug-ins got ported. Let's remove support for the old API with IDs
instead of objects.
2019-09-03 13:31:27 +02:00
Jehan
fec6034c7a pdb: keep both the old and new API alive.
By default the new API will be used. But if we build with
GIMP_DEPRECATED_REPLACE_NEW_API macro, then the same function names will
call the old API with ids.

This way, we don't have to update all our plug-ins at once (which I
tried and is very tedious work).

Note that bindings won't have access to the deprecated API at all.
2019-08-22 15:54:36 +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
856c89a845 libgimp: add guards that #error out if individual files are included 2011-04-28 19:59:52 +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
Michael Natterer
18502898f8 applied patch from Lars-Peter Clausen which adds
2008-05-17  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/gradient.pdb: applied patch from Lars-Peter
	Clausen which adds gimp-gradient-get-number-of-segments. Fixes
	bug #533474.

	* app/pdb/gradient-cmds.c
	* app/pdb/internal-procs.c
	* libgimp/gimpgradient_pdb.[ch]: regenerated.

	* libgimp/gimp.def: add the new symbol.


svn path=/trunk/; revision=25683
2008-05-17 09:19:58 +00:00
Sven Neumann
dcc6ebd1b0 HACKING tools/pdbgen/lib.pl fixed spelling of "auto-generated".
2007-01-09  Sven Neumann  <sven@gimp.org>

	* HACKING
	* tools/pdbgen/lib.pl
	* tools/pdbgen/app.pl: fixed spelling of "auto-generated".

	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/palette_select.pdb
	* tools/pdbgen/pdb/font_select.pdb
	* tools/pdbgen/pdb/procedural_db.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/gradient_select.pdb: improved wording and fixed
	spelling errors.
	
	* libgimp/gimp.c: fixed spelling errors.

	* app/pdb/*.h: 
	* libgimp/gimp*_pdb.[ch]: regenerated.


svn path=/trunk/; revision=21676
2007-01-09 10:52:47 +00:00
Sven Neumann
8824a9bc86 create code with spaces instead of tabs.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/lib.pl: create code with spaces instead of tabs.

	* libgimp/gimp*_pdb.[ch]: regenerated.
2006-04-12 10:27:31 +00:00
Sven Neumann
c314eef7e5 do actually add the new procedure gimp_gradient_is_editable().
2005-01-03  Sven Neumann  <neumann@jpk.com>

	* tools/pdbgen/pdb/gradient.pdb: do actually add the new procedure
	gimp_gradient_is_editable().

	* app/pdb/gradient_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpgradient_pdb.[ch]: regenerated.

	* libgimp/gimp.def: updated.
2005-01-03 17:58:25 +00:00
Michael Natterer
caf4786993 tools/pdbgen/pdb/brushes.pdb (brushes_get_brush_data)
2004-10-06  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/brushes.pdb (brushes_get_brush_data)
	* tools/pdbgen/pdb/gradients.pdb (gradients_sample_uniform)
	(gradients_sample_custom) (gradients_get_gradient_data)
	* tools/pdbgen/pdb/patterns.pdb (patterns_get_pattern_data):
	deprecated.

	* tools/pdbgen/pdb/brush.pdb
	* tools/pdbgen/pdb/gradient.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/pattern.pdb: added replacements for the
	deprecated functions. Removed the silly feature that passing NULL
	as name operates on the current brush, pattern etc.

	* app/pdb/brush_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/gradient_cmds.c
	* app/pdb/gradients_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/palette_cmds.c
	* app/pdb/pattern_cmds.c
	* app/pdb/patterns_cmds.c
	* libgimp/gimpbrush_pdb.[ch]
	* libgimp/gimpbrushes_pdb.[ch]
	* libgimp/gimpgradient_pdb.[ch]
	* libgimp/gimpgradients_pdb.[ch]
	* libgimp/gimppalette_pdb.c
	* libgimp/gimppattern_pdb.[ch]
	* libgimp/gimppatterns_pdb.[ch]: regenerated.

	* libgimp/gimpbrushmenu.c
	* libgimp/gimpgradientmenu.c
	* libgimp/gimppatternmenu.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/common/gradmap.c
	* plug-ins/common/sample_colorize.c
	* plug-ins/flame/flame.c
	* plug-ins/gfig/gfig-style.c
	* plug-ins/gflare/gflare.c
	* plug-ins/pagecurl/pagecurl.c
	* plug-ins/script-fu/scripts/spyrogimp.scm: changed accordingly.
2004-10-05 23:28:17 +00:00
Michael Natterer
3004cb1bd0 tools/pdbgen/Makefile.am renamed group "gradient_edit" to "gradient" and
2004-09-29  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/Makefile.am
	* tools/pdbgen/groups.pl: renamed group "gradient_edit" to
	"gradient" and added "brush", "palette" and "pattern" groups.

	* tools/pdbgen/pdb/gradient_edit.pdb: removed.

	* tools/pdbgen/pdb/brush.pdb
	* tools/pdbgen/pdb/gradient.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/pattern.pdb: new files containing functions
	which create, duplicate, rename, delete, query and manipulate
	a single brush, pattern etc.

	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/palettes.pdb
	* tools/pdbgen/pdb/patterns.pdb: deprecated stuff that is obsolete
	now and simply removed the procedures that were added after 2.0.

	* app/pdb/gradient_edit_cmds.c
	* libgimp/gimpgradientedit_pdb.[ch]: removed.

	* app/pdb/brush_cmds.c
	* app/pdb/gradient_cmds.c
	* app/pdb/palette_cmds.c
	* app/pdb/pattern_cmds.c
	* libgimp/gimpbrush_pdb.[ch]
	* libgimp/gimpgradient_pdb.[ch]
	* libgimp/gimppalette_pdb.[ch]
	* libgimp/gimppattern_pdb.[ch]: new files.

	* app/pdb/brushes_cmds.c
	* app/pdb/gradients_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/palettes_cmds.c
	* app/pdb/patterns_cmds.c
	* libgimp/gimp_pdb.h
	* libgimp/gimpbrushes_pdb.[ch]
	* libgimp/gimpgradients_pdb.[ch]
	* libgimp/gimppalettes_pdb.[ch]
	* libgimp/gimppatterns_pdb.[ch]: regenerated.

	* app/pdb/Makefile.am
	* libgimp/Makefile.am
	* plug-ins/gfig/gfig-style.c: changed accordingly.
2004-09-28 22:01:21 +00:00
Michael Natterer
db71b6e0e1 Sven Neumann <sven@gimp.org> Simon Budig <Simon.Budig@unix-ag.org> Garry
2000-06-01  Michael Natterer  <mitch@gimp.org>
	    Sven Neumann  <sven@gimp.org>
	    Simon Budig  <Simon.Budig@unix-ag.org>
	    Garry R. Osgood  <gosgood@idt.net>
	    Seth Burgess <sjburges@gimp.org>
	    Tuomas Kuosmanen <tigert@gimp.org>
	    Tor Lillqvist <tml@iki.fi>
	    Andy Thomas <alt@gimp.org>
	    Andreas Bogk <andreas@andreas.org>
	    Vincent Kolwitz <vincent@andreas.org>

	The remaining bits ...

	* tools/pdbgen/Makefile.am
	* tools/pdbgen/groups.pl
	* tools/pdbgen/pdb/gradient.pdb  -> gradients.pdb

	* app/Makefile.am
	* app/gradient_cmds.c  -> gradients_cmds.c

	* libgimp/gimpbrushes_pdb.[ch]
	* libgimp/gimpfileops_pdb.[ch]
	* libgimp/gimpguides_pdb.[ch]
	* libgimp/gimphelp_pdb.[ch]
	* libgimp/gimpmessage_pdb.[ch]
	* libgimp/gimpparasite_pdb.[ch]
	* libgimp/gimppatterns_pdb.[ch]
	* libgimp/gimpplugin_pdb.[ch]: replaced with code based on
	files generated using pdbgen

	* libgimp/gimpbrushmenu.c
	* libgimp/gimppatternmenu.c:
	reflect changes in gimp[brushes|patterns]_pdb.[ch]

	* tools/pdbgen/pdb/gradient.pdb  -> gradients.pdb

	* tools/pdbgen/pdb/plug_in.pdb: made it create libgimp code
2000-06-01 21:18:04 +00:00
Michael Natterer
053af2f1c9 Sven Neumann <sven@gimp.org>
2000-05-31  Michael Natterer  <mitch@gimp.org>
	    Sven Neumann  <sven@gimp.org>

	* libgimp/Makefile.am
	* libgimp/gimpchannel_pdb.h
	* libgimp/gimpdisplay_pdb.h
	* libgimp/gimpdrawable_pdb.h
	* libgimp/gimpgradient_pdb.h
	* libgimp/gimphelp_pdb.h
	* libgimp/gimpimage_pdb.h
	* libgimp/gimplayer_pdb.h
	* libgimp/gimpparasite_pdb.h
	* libgimp/gimpselection_pdb.h
	* libgimp/gimpunit_pdb.h
	* libgimp/gimpdrawable.[ch]
	* libgimp/gimphelp.c
	* libgimp/gimppixelrgn.h
	* libgimp/gimptile.h: new files

	* libgimp/gimp.[ch]
	* libgimp/gimpchannel_pdb.c
	* libgimp/gimpdrawable_pdb.c
	* libgimp/gimpgradient_pdb.c
	* libgimp/gimppalette_pdb.c
	* libgimp/gimpselection_pdb.c
	* libgimp/gimphelp_pdb.c
	* libgimp/gimpimage_pdb.c
	* libgimp/gimplayer_pdb.c
	* libgimp/gimpgradientmenu.c
	* libgimp/gimpbrushmenu.c
	* libgimp/gimpmenu.[ch]
	* libgimp/gimppatternmenu.c
	* libgimp/gimppixelrgn.c
	* libgimp/gimptile.c: part III of the (final) libgimp cleanup

	Split gimp.h into a bunch of headers. More or less finished the
	task of moving PDB wrappers into separate files in preparation
	of the upcoming autogen-it-all-attack.

	* libgimp/gimpcompat.h: declared the following functions obsolete:
	gimp_[channel|layer]_[width|height]
	gimp_layer_[bpp|type]
	gimp_channel_get_[image|layer]_ID

	* libgimp/gimptypes.h: new file:
	GPlugInInfo
	GTile
	GDrawable
	GPixelRgn
	GParamColor
	GParamRegion
	GParamData
	GParamDef
	GParam: s/G/Gimp/

	* app/gimphelp_cmds.c
	* app/plug_in_cmds.c
	* tools/pdbgen/pdb/gimphelp.pdb
	* tools/pdbgen/pdb/plug_in.pdb: changed help texts.
2000-05-31 06:15:06 +00:00