Commit Graph

17 Commits

Author SHA1 Message Date
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