Commit Graph

24 Commits

Author SHA1 Message Date
fd5740e70b libgimp: add gimp_layer,chanel,vectors,etc,_get_by_id()
which call gimp_item_get_by_id() and additionally check if the
returned item has the right type, and return NULL if not.

This is both shorter and more readable than

layer = GIMP_LAYER (gimp_item_get_by_id (id));

and additionally makes sure we don't cast e.g. a non-layer with
GIMP_LAYER(), which will give criticals but shouldn't, because the
wrong IDs can come from anywhere and are an input problem and not a
programming error (criticals are for programming errors).
2019-09-03 10:24:24 +02:00
2fd35e77b5 Revert "libgimp: API with new object classes are since 3.0."
This reverts commit e24375e64a.

The API is semantically the same, and there is no danger of confusion,
no need to update the Since: tags.
2019-08-30 18:44:56 +02:00
e24375e64a libgimp: API with new object classes are since 3.0.
Even when the function names may have stayed the same in most cases, the
API has changed. The "Since:" tag must therefore be bumped.

Also adding docs for gimp_drawable_get_sub_thumbnail_data() which had
none.
2019-08-30 16:42:08 +02:00
f57725a96a libgimp: add instance-private struct to all new objects
Just in case we need it later.
2019-08-27 16:47:17 +02:00
96c1f754ba libgimp: remove a ton of deprecated API that is unused 2019-08-27 16:32:25 +02:00
08849a584c libgimp: GimpItem now also belong to libgimp. 2019-08-22 15:54:36 +02:00
cfd30ec62a libgimp: s/gimp_image_new_by_id()/gimp_image_get_by_id()/
This means that images' ownership is not given to caller in particular.
libgimp will now keep a reference of all GimpImage-s it creates and
return this same reference if called again. It also means that you can
now compare images by pointer comparison (as 2 GimpImage objects
representing the same image ID will be equal).
Obviously as a side effect, gimp_image_list() is changed to (transfer
container) as you must only free the container now, not the elements.
Also various other functions creating new images are now (transfer none)
too.

Long-time plug-ins will have to be taken in consideration in a further
step (we currently never free GimpImage for destroyed images in
particular).
2019-08-22 15:54:36 +02:00
8c95499e14 pdb, libgimp: now make all ID types classes of their own.
No need of is_id_arg() anymore in pdb/lib.pl. Let's reuse the {id}
value. Also I had to add an additional trick for GimpDisplay which we
will now generate as such in libgimp PDB files, but still need to show
as GimpObject on app/pdb/.

As previously, only the new classes and the PDB generation for a first
step.
2019-08-22 15:54:36 +02:00
3f1491e572 libgimp: update non-generated API using GimpItem/GimpDrawable/GimpLayer.
I did the same trick with GIMP_DEPRECATED_REPLACE_NEW_API macro, apart
for some minor widget API to preview drawable, which I will fix right
away in our plug-ins.
2019-08-22 15:54:36 +02:00
5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
9525c646e1 libgimp: remove tons of deprecated cruft 2018-05-20 21:06:29 +02:00
0d481702c7 libgimp*: add GIMP_DEPRECATED macros using G_DEPRECATED
and start using them instead of GIMP_DISABLE_DEPRECATED where possible.
2012-05-03 00:54:21 +02:00
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
dd9a1db625 libgimp/gimpbrushes.c libgimp/gimpgradients.c libgimp/gimpimage.c
2006-11-03  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimpbrushes.c
	* libgimp/gimpgradients.c
	* libgimp/gimpimage.c
	* libgimp/gimplayer.c
	* libgimp/gimppalette.c
	* libgimp/gimppalettes.c
	* libgimp/gimppatterns.c
	* libgimp/gimpselection.c: also let all non-generated deprecated
	functions see their declarations.
2006-11-03 21:06:22 +00:00
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
4caf20c229 tools/pdbgen/pdb/image.pdb entirely removed the deprecated functions
2004-11-16  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/selection.pdb: entirely removed the deprecated
	functions "selection_clear", "image_set_cmap" and "image_get_cmap".

	* app/pdb/procedural_db.c: and added them to the compat hash table
	because they have undeprecated replacements with identical
	signature.

	* libgimp/gimpselection.[ch]: added gimp_selection_clear() here
	instead because we need the symbol in libgimp.

	* app/pdb/image_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/selection_cmds.c
	* libgimp/gimpselection_pdb.[ch]: regenerated.
2004-11-16 14:34:34 +00:00
7efa81d1da libgimp/gimp.h libgimp/gimpbrushmenu.h libgimp/gimpbrushselect.[ch]
2003-12-05  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimp.h
	* libgimp/gimpbrushmenu.h
	* libgimp/gimpbrushselect.[ch]
	* libgimp/gimpfontmenu.[ch]
	* libgimp/gimpfontselect.[ch]
	* libgimp/gimpgradientmenu.h
	* libgimp/gimpgradientselect.[ch]
	* libgimp/gimpmenu.h
	* libgimp/gimpmisc.[ch]
	* libgimp/gimpmiscui.[ch]
	* libgimp/gimppatternmenu.h
	* libgimp/gimppatternselect.[ch]
	* libgimp/gimppixelrgn.[ch]
	* libgimp/gimpproceduraldb.c
	* libgimp/gimpselection.c
	* libgimp/gimptile.h
	* libgimp/gimptypes.h
	* libgimp/gimpui.h
	* libgimp/gimpuitypes.h
	* libgimp/libgimp-intl.h
	* libgimp/stdplugins-intl.h
	* libgimpbase/gimpbase.h
	* libgimpbase/gimpdatafiles.c
	* libgimpbase/gimpenv.c
	* libgimpbase/gimpparasite.[ch]
	* libgimpbase/gimpparasiteio.[ch]
	* libgimpbase/gimpsignal.[ch]
	* libgimpbase/gimputils.c
	* libgimpcolor/gimpadaptivesupersample.[ch]
	* libgimpcolor/gimpbilinear.[ch]
	* libgimpmath/gimpmath.h
	* libgimpmath/gimpmathtypes.h
	* libgimpwidgets/gimpbutton.[ch]
	* libgimpwidgets/gimpchainbutton.h
	* libgimpwidgets/gimpcolorarea.[ch]
	* libgimpwidgets/gimpcolornotebook.h
	* libgimpwidgets/gimpcolorscale.[ch]
	* libgimpwidgets/gimpcolorscales.h
	* libgimpwidgets/gimpcolorselect.h
	* libgimpwidgets/gimpoffsetarea.h
	* libgimpwidgets/gimppixmap.[ch]: removed trailing whitespace.
2003-12-05 15:55:15 +00:00
fe0bf162c1 removed FINITE() macro.
2002-05-13  Sven Neumann  <sven@gimp.org>

	* libgimpmath/gimpmath.h: removed FINITE() macro.

	* tools/pdbgen/pdb/image.pdb
	* app/pdb/image_cmds.c: define FINITE() here, where it is used.

	* tools/pdbgen/pdb/lib.pl: add "config.h" to all generated libgimp
	.c files.

	* libgimp/gimp*_pdb.c: regenerated.

	* libgimp/gimpbrushmenu.c
	* libgimp/gimpchannel.c
	* libgimp/gimpdrawable.c
	* libgimp/gimpgradientmenu.c
	* libgimp/gimphelp.c
	* libgimp/gimpimage.c
	* libgimp/gimplayer.c
	* libgimp/gimppatternmenu.c
	* libgimp/gimppixelrgn.c
	* libgimp/gimpproceduraldb.c
	* libgimp/gimpselection.c
	* libgimp/gimptile.c
	* libgimp/gimpui.c
	* libgimpmath/gimpmatrix.c
	* libgimpmath/gimpvector.c
	* plug-ins/MapObject/arcball.c
	* plug-ins/fp/fp_gdk.c
	* plug-ins/fp/fp_misc.c
	* plug-ins/ifscompose/ifscompose_storage.c
	* plug-ins/ifscompose/ifscompose_utils.c
	* plug-ins/maze/handy.c
	* plug-ins/rcm/rcm_gdk.c
	* plug-ins/sel2path/edge.c
	* plug-ins/xjt/xjpeg.c
	* plug-ins/xjt/xpdb_calls.c: include "config.h".
2002-05-13 23:30:23 +00:00
9fd7a4ef2d libgimp/gimpchannel.c libgimp/gimpimage.c libgimp/gimplayer.c
2000-08-25  Sven Neumann  <sven@gimp.org>

        * libgimp/gimpchannel.c
        * libgimp/gimpimage.c
        * libgimp/gimplayer.c
        * libgimp/gimpproceduraldb.c
        * libgimp/gimpselection.c: document wrapped PDB wrappers
2000-08-25 00:37:35 +00:00
6be23f70fa Sven Neumann <sven@gimp.org>
2000-06-01  Michael Natterer  <mitch@gimp.org>
	    Sven Neumann  <sven@gimp.org>

	Completed the new file structure. Yet only few of the _pdb.[ch]
	files are based upon generated code and nothing is really
	autogenerated...

	* app/Makefile.am
	* app/gdisplay_cmds.c      -> app/display_cmds.c
	* app/gimage_cmds.c        -> app/image_cmds.c
	* app/gimage_mask_cmds.c   -> app/selection_cmds.c
	* app/internal_procs.c: related change

	* libgimp/Makefile.am
	* libgimp/gimp.h
	* libgimp/gimp_pdb.h
	* libgimp/gimpdisplay_pdb.[ch]
	* libgimp/gimpimage_pdb.[ch]
	* libgimp/gimpselection_pdb.[ch]: replaced with code based on files
	generated using pdbgen

	* libgimp/gimpchannelops_pdb.[ch]
	* libgimp/gimpcolor_pdb.[ch]
	* libgimp/gimpedit_pdb.[ch]
	* libgimp/gimpfloatingsel_pdb.[ch]
	* libgimp/gimpgimprc_pdb.[ch]
	* libgimp/gimptexttool_pdb.[ch]
	* libgimp/gimptools_pdb.[ch]
	* libgimp/gimpundo_pdb.[ch]: new files based on generated code

	* libgimp/gimpgradientselect.[ch]
	* libgimp/gimpimage.[ch]
	* libgimp/gimpselection.[ch]: new files wrapping around the
	autogenerated PDB wrappers as found in *_pdb.[ch]. This is necessary
	since the number of parameters or their order is different from the
	PDP calls.

	* plug-ins/common/CEL.c: plugged memleak

	* plug-ins/common/aa.c: removed compiler warning

	* tools/pdbgen/Makefile.am
	* tools/pdbgen/groups.pl
	* tools/pdbgen/pdb/gdisplay.pdb     -> display.pdb
	* tools/pdbgen/pdb/gimage.pdb       -> image.pdb
	* tools/pdbgen/pdb/gimage_mask.pdb  -> selection.pdb

	* tools/pdbgen/pdb/channel_ops.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/floating_sel.pdb
	* tools/pdbgen/pdb/gimprc.pdb
	* tools/pdbgen/pdb/text_tool.pdb
	* tools/pdbgen/pdb/tools.pdb
	* tools/pdbgen/pdb/undo.pdb: made them create libgimp code
2000-06-01 12:20:13 +00:00
763bd6ab98 great renaming
-Yosh
2000-05-26 23:09:41 +00:00
f4fc693164 new PDB wrappers in libgimp and plugin code cleanup
--Sven
2000-01-14 21:38:47 +00:00
df8b445be6 *** empty log message *** 1999-11-17 21:13:50 +00:00
7e858cb8f8 some unimportant fiddling with the rotate plug-in
--Sven
1999-11-13 19:20:11 +00:00