Commit Graph

48 Commits

Author SHA1 Message Date
b2cb334b47 app, libgimp: forgot to add /*< pdb-skip >*/ to enum GimpBucketFillMode
so it was still exported to libgimp.
2019-01-02 16:18:28 +01:00
368f2e596a app, libgimpbase: move enum GimpBucketFillArea to the core
The whole bucket fill specific enum stuff is on its way out, so let's
keep this one out of libgimp for now until we decide how to present
line art filling in the PDB.
2019-01-02 15:47:31 +01:00
cd924f453a app: do not make line art bucket fill a GimpSelectCriterion anymore.
This was my initial choice, but the more I think about it, the less I am
sure this was the right choice. There was some common code (as I was
making a common composite bucket fill once the line art was generated),
but there is also a lot of different code and the functions were filled
of exception when we were doing a line art fill. Also though there is a
bit of color works (the way we decide whether a pixel is part of a
stroke or not, though currently this is basic grayscale threshold), this
is really not the same as other criterions. In particular this was made
obvious on the Select by Color tool where the line art criterion was
completely meaningless and would have had to be opted-out!

This commit split a bit the code. Instead of finding the line art in the
criterion list, I add a third choice to the "Fill whole selection"/"Fill
similar colors" radio. In turn I create a new GimpBucketFillArea type
with the 3 choices, and remove line art value from GimpSelectCriterion.

I am not fully happy yet of this code, as it creates a bit of duplicate
code, and I would appreciate to move some code away from gimpdrawable-*
and gimppickable-* files. This may happen later. I break the work in
pieces to not get too messy.
Also this removes access to the smart colorization from the API, but
that's probably ok as I prefer to not freeze options too early in the
process since API needs to be stable. Probably we should get a concept
of experimental API.
2018-12-12 15:27:48 +01:00
1671da428c libgimpbase: remove almost all deprecated compat cruft
Keep infrastructure for compat enums around because we will
mose definitely need it again.
2018-05-20 21:06:29 +02:00
bf49b47620 Bug 795207 - Add color space to blend(gradient) tool options
First WIP commit, adds:

- enum GimpGradientBlendColorSpace { RGB_PERCEPTUAL, RGB_LINEAR }
- linear blending mode for gradient segments
- tool options GUI for the blend and paint tools which use gradients
2018-04-13 22:33:16 +02:00
390ef44481 pdb, libgimp: allow to use external GType-registered enums in the PDB
The enums have to be menually registered in pdb/enums-external.pl.
Currently supports enums from GEGL only.

Add enum GeglDistanceMetric as first external enum.
2018-03-17 20:31:48 +01:00
9b11fb2b91 app, libgimp, libgimpbase, pdb: s/GimpDistanceMetric/GeglDistanceMetric/
GeglDistanceMetric has just been added as a public enum in GEGL. Basing
our code on this, and getting rid of the newly added GimpDistanceMetric.
2018-03-17 14:57:31 +01:00
c5a0189b7f libgimp, pdb: some generated files which were not in previous commits.
It's weird. I didn't see these when I added the GimpDistanceMetric enum
type. Not sure why. Adding these now.
2018-03-15 15:05:32 +01:00
d14f6647ad libgimp, libgimpbase: rename gimp_base_compat_enum_init()
to gimp_base_compat_enums_init() and move its prototype from
gimputils.h to gimpbase-private.h; it's not supposed to be
public API even though it's callable from the outside.
2017-10-29 18:37:18 +01:00
7c32451dfb Bug 784305 - Deprecated enum constants are not registered in python-fu. 2017-10-24 02:34:34 +02:00
ed1ab140fb app, pdb, libgimp: rename values of enum GimpConvertDitherType
being exported to libgimp, and having a non-exported value, this is a
horrible mess like with GimpLayerMode, but at least the cruft value
names are deprecated now.
2017-02-26 20:13:09 +01:00
1dd2c52ed3 app, pdb, libgimp: add PDB API for layer blend space and compositing space 2017-02-20 01:17:07 +01:00
2a96d598c3 app: add internal and PDB API and UI to control a layer's composite mode
Largely based on a patch by Ell, with the enum type renamed and
various small changes. Adds another axis of configurability to the
existing layer mode madness, and is WIP too.
2017-02-02 00:38:25 +01:00
ebd3ab1b26 A more hackish way to use GimpLayerMode instead of GimpLayerModeEffects
C++ won't allow us to use GimpLayerMode in the API where we used to
have GimpLayerModeEffects.

Move GimpLayerModeEffects to libgimpbase/gimpcompatenums.h so it's
not in the API any longer, and instead typedef and define stuff in
libgimp/gimptypes.h, and adapt the compat enum registering code
accordingly.
2017-01-24 23:28:34 +01:00
66060e3307 app, libgimp*, plug-ins: replace enum GimpLayerModeEffects by GimpLayerMode
with proper value names. Mark most values as _BROKEN because they use
weird alpha compositing that has to die. Move GimpLayerModeEffects to
libgimpbase, deprecate it, and set it as compat enum for GimpLayerMode.
Add the GimpLayerModeEffects values as compat constants to script-fu
and pygimp.
2017-01-08 23:00:19 +01:00
31fcd79dd9 Bug 769738 - Add color tags/labels for layers/channels/paths
Add property "color-tag" of type enum GimpColorTag to GimpItem so all
layers, channels and paths can be tagged with a color.

For interoperability, use the color list from Krita which is a
superset of Photoshop's colors.

Features a "Color Tag" submenu in the layers, channels and paths
menus, a row of color radio buttons in the properties dialogs,
undo and PDB API.

As a side effect, some common code is now factores out into
items-actions.[ch] and items-commands.[ch] which adds visible, linked
and lock actions for layers and channels.
2016-10-29 17:02:16 +02:00
9bcbfb96b1 app, libgimpbase: move enums GimpCapStyle and GimpJoinStyle to libgimpbase 2015-11-09 02:16:03 +01:00
e3ea383580 app, libgimpbase: move enum GimpStrokeMethod to libgimpbase
and rename its values.
2015-11-08 22:48:48 +01:00
c632ffad18 pdb, app, libgimp: add gimp_image_convert_color_profile() PDB wrapper
This commit is more complex than a usual PDB procedure because it
needs to make the enums from libgimpconfig/gimpcolorconfig-enums.h
known to the PDB.
2015-06-10 01:38:20 +02:00
8005eea835 Remove the "GIMP" from all "Since: GIMP 2.x" API doc comments
because it confuses gtk-doc and breaks some links. Also change the
"Index of new symbols in GIMP 2.x" sections to be what seems to be the
modern standard (looked at the GLib and GTK+ docs), and update some
other stuff.
2015-05-31 21:18:09 +02:00
2ff414d799 app,libgimp,pdb: remove enum GimpConvolutionType from the public API
It was exported accidentially and never used for anything.
2014-04-27 23:05:12 +02:00
caf73f5f35 Add support for both gamma-corrected and linear for all bit depths
- Add new enum GimpComponentType which contains u8, u16, u32 etc.
- Change GimpPrecision to be u8-linear, u8-gamma, u16-linear etc.
- Add all the needed formats to gimp-babl.c
- Bump the XCF version to 5 and make sure version 4 with the old
  GimpPrecision enum values is loaded correctly

This change blows up the precision enums in "New Image" and
Image->Precision so we can test all this stuff. It is undecided what
format will be user-visible options in 2.10.
2013-06-23 16:51:24 +02:00
3e4edc1aea pdb/libgimp: export enum GimpPrecision and gimp-image-convert-precision 2012-05-02 17:51:17 +02:00
b952f80be0 Bug 658477 - add PDB support for more paint and ink options
Apply heavily modified patch from Es Swartz which adds PDB API for
brush size, angle and aspect ratio, as well as a full interface for
ink. Changed to patch to add all procedures to the "context" group
instead of creating new PDB groups, properly use the new
GimpPDBContext APIs for paint options, and did some general cleanup.
(Warning, completely untested).
2012-03-01 12:58:26 +01:00
d2563a69fd app: Cleanup in preparation of merge 2010-11-04 20:27:11 +02:00
aee148a486 Merge branch 'master' into soc-2010-cage-2 2010-08-26 21:50:55 +03:00
5d483a9517 add an enum for cage mode 2010-08-08 13:24:50 +02:00
b3f4038f68 libgimp: add gimpenums.c.tail again, pdbgen-generated files are in git 2010-07-14 20:20:58 +02:00
91a125df40 libgimp: remove generated file (it's also in .gitignore) 2010-07-14 19:05:50 +02:00
033fcf1628 added new enum GimpTextHintStyle.
2008-10-27  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpbaseenums.[ch]: added new enum 
GimpTextHintStyle.

	* libgimp/gimpenums.c.tail
	* tools/pdbgen/enums.pl: regenerated.

	* app/text/gimptext.[ch]: added new property "hint-style". 
Removed
	"autohint" property and mapped the boolean property "hinting" to
	the new enum property "hint-style".

	* app/text/gimptextlayout-render.c 
(gimp_text_layout_render_flags):
	use "hint-style".

	* app/tools/gimptextoptions.[ch]: changed tool options 
accordingly.

	* tools/pdbgen/pdb/text_layer.pdb: deprecated the "hinting" API
	and introduced getters and setters for "hint-style".

	* app/pdb/text-layer-cmds.c
	* app/pdb/internal-procs.c
	* libgimp/gimptextlayer_pdb.[ch]: regenerated.


svn path=/trunk/; revision=27432
2008-10-27 07:59:32 +00:00
369d991fd2 Complements the fix for bug #344818:
2008-08-19  Sven Neumann  <sven@gimp.org>

	Complements the fix for bug #344818:

	* libgimpbase/gimpbaseenums.[ch]: added new enum 
GimpPDBErrorHandler.

	* tools/pdbgen/enums.pl: regenerated.

	* app/plug-in/gimpplugin.[ch]: added error_handler to 
GimpPlugIn.

	* app/plug-in/gimpplugin-message.c 
(gimp_plug_in_handle_proc_run):
	only display an error message for a failed procedure call if the
	plug-in's error-handler is set to 
GIMP_PDB_ERROR_HANDLER_INTERNAL.
	
	* tools/pdbgen/pdb/plug_in.pdb: added PDB getter and setter for
	the plug-in's error-handler.

	* app/pdb/plug-in-cmds.c
	* app/pdb/internal-procs.c
	* libgimp/gimpenums.c.tail
	* libgimp/gimpplugin_pdb.[ch]: regenerated.

	* plug-ins/common/file-compressor.c
	* plug-ins/file-uri/uri.c: set the error-handler to
	GIMP_PDB_ERROR_HANDLER_PLUGIN as these plug-ins are forwarding 
the
	error with their return values.


svn path=/trunk/; revision=26656
2008-08-18 22:54:26 +00:00
66f4debdc2 libgimp/gimpenums.c.tail regenerated.
* libgimp/gimpenums.c.tail
	* tools/pdbgen/enums.pl: regenerated.

svn path=/trunk/; revision=25329
2008-03-31 22:18:45 +00:00
869daa3fbc replaced by generated version.
2007-11-08  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimpenums.c.tail: replaced by generated version.


svn path=/trunk/; revision=24090
2007-11-08 18:09:43 +00:00
28dbead28e regenerated
svn path=/trunk/; revision=24033
2007-11-01 17:33:01 +00:00
5f56f1e23d libgimp/gimpenums.c.tail regenerated.
* libgimp/gimpenums.c.tail
	* tools/pdbgen/enums.pl: regenerated.



svn path=/trunk/; revision=22477
2007-05-13 16:49:23 +00:00
f0cff0ff92 app/core/Makefile.am app/core/gimp-transform-resize.c
2006-12-24  Mukund Sivaraman  <muks@mukund.org>

        * app/core/Makefile.am
        * app/core/gimp-transform-resize.c
        * app/core/gimpchannel.c
        * app/core/gimpdrawable-transform.c
        * app/core/gimpdrawable-transform.h
        * app/core/gimpdrawable.c
        * app/core/gimpimage-item-list.c
        * app/core/gimpimage-item-list.h
        * app/core/gimpitem-linked.c
        * app/core/gimpitem-linked.h
        * app/core/gimpitem.c
        * app/core/gimpitem.h
        * app/core/gimplayer.c
        * app/pdb/drawable_transform_cmds.c
        * app/text/gimptextlayer-transform.c
        * app/text/gimptextlayer-transform.h
        * app/tools/gimptransformoptions.c
        * app/tools/gimptransformtool.c
        * app/vectors/gimpvectors.c
        * libgimp/gimpdrawabletransform_pdb.c
        * libgimp/gimpdrawabletransform_pdb.h
        * libgimp/gimpenums.c.tail
        * libgimpbase/gimpbase.def
        * libgimpbase/gimpbaseenums.c
        * libgimpbase/gimpbaseenums.h
        * tools/pdbgen/enums.pl
        * tools/pdbgen/pdb/drawable_transform.pdb: implemented UI and PDB
        for new clipping modes for affine transforms (crop to largest
        rectangle, and crop to largest rectangle with the source's aspect
        ratio); fixed various bugs in the largest rectangle computation
        code; set padding to 6 in the transformation tool options.
2006-12-24 16:48:08 +00:00
a8593d8141 Oops. Need to specify both pdb-skip and skip.
2006-10-25  Simon Budig  <simon@gimp.org>

	* app/vectors/vectors-enums.h: Oops. Need to specify both
	pdb-skip and skip.

	* libgimp/gimp.def
	* libgimpconfig/gimpconfig.def
	* libgimpmath/gimpmath.def
	* libgimpthumb/gimpthumb.def
	* libgimpwidgets/gimpwidgets.def: .def-file maintenance. Hope my
	changes are correct...

	With the help from
	   nm .libs/libgimpfoo-2.0.so |\
	   sed -ne "s/.* T \([a-zA-Z0-9][a-zA-Z0-9_]*\)/\t\1/p" |\
	   (echo EXPORTS ; LC_ALL=C sort )

	* libgimpwidgets/gimppageselector.c: marked stretch_frame_image()
	as static.

	* libgimp/gimpenums.c.tail
	* libgimp/gimpenums.h
	* tools/pdbgen/enums.pl: regenerated.

	* devel-docs/libgimp/tmpl/gimpfontselectbutton.sgml: this changed
	again. WTF?
2006-10-25 16:55:20 +00:00
f57321511e app/vectors/Makefile.am app/vectors/vectors-enums.h added new file for the
2006-10-24  Simon Budig  <simon@gimp.org>

	* app/vectors/Makefile.am
	* app/vectors/vectors-enums.h
	* app/vectors/vectors-types.h: added new file for the vectors enums,
	adjusted Makefile.am for the generation of vectors-enums.c

	* tools/pdbgen/Makefile.am
	* tools/pdbgen/pdb/vectors.pdb: Added implementation for
	gimp-vectors-stroke-get-points which returns the control points for
	the stroke.
	Renamed gimp-vectors-stroke-remove to gimp-vectors-remove-stroke.

	ATTENTION: this breaks scripts using this function, a simple name
	change is enough to make it work again.
	Also please note that yosh reordered the return values of
	gimp-vectors-stroke-interpolate, so your scripts need adjustment
	there as well.

        * tools/pdbgen/pdb/paths.pdb: deprecate gimp-path-get-points. Yay!

	* libgimp/gimp.def: added new symbol

	* plug-ins/pygimp/pygimp-vectors.c: reflect name change of
	gimp_vectors_remove_stroke ().

	* app/vectors/vectors-enums.c
	* app/pdb/internal_procs.c
	* app/pdb/paths_cmds.c
	* app/pdb/vectors_cmds.c
	* devel-docs/libgimp/tmpl/gimpvectors.sgml
	* libgimp/gimpenums.c.tail
	* libgimp/gimpenums.h
	* libgimp/gimppaths_pdb.[ch]
	* libgimp/gimpvectors_pdb.[ch]
	* tools/pdbgen/enums.pl: regenerated.
2006-10-24 14:23:29 +00:00
0b5a30d13c app/core/core-enums.h tools/pdbgen/pdb/edit.pdb applied patch from David
2006-08-15  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.h
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/selection_tools.pdb: applied patch from David
	Gowers that adds extended PDB interface for gimp-edit-bucket-fill,
	gimp-by-color-select and gimp-fuzzy-select. Fixes bugs #348291 and
	#347499.

	* app/pdb/edit_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/selection_tools_cmds.c
	* libgimp/gimpedit_pdb.[ch]
	* libgimp/gimpenums.c.tail
	* libgimp/gimpenums.h
	* libgimp/gimpselectiontools_pdb.[ch]
	* tools/pdbgen/enums.pl: regenerated.

	* libgimp/gimp.def: updated.
2006-08-15 16:20:46 +00:00
05522bfc4a cast the return value of gimp_enums_get_type_names() to (const gchar **)
2006-05-27  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/enumcode.pl: cast the return value of
	gimp_enums_get_type_names() to (const gchar **) to fix compiler
	warning.

	* libgimp/gimpenums.c.tail: regenerated.
2006-05-27 15:19:15 +00:00
19d1515107 generate a const arrays of const strings.
2006-04-06  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/enumcode.pl: generate a const arrays of const strings.

	* libgimp/gimpenums.c.tail: regenerated.
2006-04-06 13:20:39 +00:00
2368a6a380 export GimpBrushGeneratedShape to the PDB.
2006-03-22  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.h: export GimpBrushGeneratedShape to the PDB.

	* tools/pdbgen/pdb/brush.pdb: use it instead of int32.

	* libgimp/gimp.def: add gimp_brush_generated_shape_get_type().

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/floating_sel.pdb
	* tools/pdbgen/pdb/font_select.pdb
	* tools/pdbgen/pdb/fonts.pdb
	* tools/pdbgen/pdb/gimprc.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/message.pdb
	* tools/pdbgen/pdb/misc.pdb
	* tools/pdbgen/pdb/paint_tools.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/palette_select.pdb
	* tools/pdbgen/pdb/palettes.pdb
	* tools/pdbgen/pdb/paths.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/plug_in.pdb
	* tools/pdbgen/pdb/text_tool.pdb: more perl/C code separation,
	removed some more utility functions, cleanup.

	* app/pdb/brush_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/display_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/fonts_cmds.c
	* app/pdb/gimprc_cmds.c
	* app/pdb/gradients_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/palettes_cmds.c
	* app/pdb/paths_cmds.c
	* app/pdb/patterns_cmds.c
	* tools/pdbgen/enums.pl
	* libgimp/gimpbrush_pdb.[ch]
	* libgimp/gimpenums.c.tail
	* libgimp/gimpenums.h: regenerated.
2006-03-22 09:58:08 +00:00
f6b370952c app/core/core-enums.[ch] moved GimpGridStyle enum to libgimpbase.
2005-09-30  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.[ch]
	* libgimpbase/gimpbaseenums.[ch]: moved GimpGridStyle enum to
	libgimpbase.

	* app/core/gimpimage-grid.h: indentation.

	* app/pdb/Makefile.am
	* libgimp/Makefile.am
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/pdb/grid.pdb: applied slightly modified patch by
	Sylvain FORET that adds a PDB API for the image grid.

	* app/pdb/grid_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimp_pdb.h
	* libgimp/gimpenums.c.tail
	* libgimp/gimpgrid_pdb.[ch]
	* tools/pdbgen/enums.pl
	* tools/pdbgen/groups.pl: (re)generated.

	* libgimp/gimp.def
	* libgimpbase/gimpbase.def: updated.
2005-09-30 16:35:04 +00:00
23666d8f19 added GimpForegroundExtractMode in preparation for other implementations
2005-07-29  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpbaseenums.[ch]: added GimpForegroundExtractMode
	in preparation for other implementations to be added in the future.

	* libgimp/gimpenums.c.tail
	* tools/pdbgen/enums.pl: regenerated.

	* app/core/gimpdrawable-foreground-extract.[ch]
	* app/tools/gimpforegroundselecttool.c
	* tools/pdbgen/pdb/drawable.pdb: added the mode parameter.

	* app/pdb/drawable_cmds.c
	* libgimp/gimpdrawable_pdb.[ch]: regenerated.
2005-07-29 02:35:12 +00:00
b77ca997a7 make _gimp_enums_init public, so language bindings can do early enum
2005-06-03  Manish Singh  <yosh@gimp.org>

        * tools/pdbgen/enumcode.pl: make _gimp_enums_init public, so
        language bindings can do early enum registration if needed.

        * libgimp/gimpenums.h
        * libgimp/gimpenums.c.tail: regenerated

        * gimp.c: call gimp_enums_init instead of _gimp_enums_init.

        * gimp.def: add newly exported function.
2005-06-03 23:25:44 +00:00
99a4393cb7 declared function array as const.
2005-04-29  Sven Neumann  <sven@gimp.org>

        * tools/pdbgen/enumcode.pl: declared function array as const.

        * libgimp/gimpenums.c.tail: regenerated.
2005-04-29 18:29:24 +00:00
b7ad665c28 Applied a patch (with minor modifications) from Karine Delvare that makes
2005-04-16  Sven Neumann  <sven@gimp.org>

	Applied a patch (with minor modifications) from Karine Delvare
	that makes it possible to choose between various ways to remove
	color from a drawable (bug #155507):

	* libgimpbase/gimpbaseenums.h: added new enum GimpDesaturateMode.

	* libgimpbase/gimpbaseenums.c
	* libgimp/gimpenums.c.tail
	* plug-ins/pygimp/gimpenums.py
	* tools/pdbgen/enums.pl: regenerated.

	* app/core/gimpdrawable-desaturate.[ch]: implement other formulas
	to remove colors from a drawable.

	* tools/pdbgen/pdb/color.pdb: let gimp_desaturate() call
	gimp_drawable_desaturate() with GIMP_DESATURATE_LIGHTNESS so that
	it behaves like it always did.

	* app/pdb/color_cmds.c: regenerated.

	* app/dialogs/Makefile.am
	* app/dialogs/desaturate-dialog.[ch]: new files that define a simple
	dialog to choose a mode for desaturation.

	* app/actions/drawable-actions.[ch]: use the new dialog.
2005-04-16 14:51:49 +00:00
7179ac43a3 Don't declare $first twice.
2004-10-27  Manish Singh  <yosh@gimp.org>

        * tools/pdbgen/enumcode.pl: Don't declare $first twice.

        * libgimp/Makefile.am: Be sure to distribute gimpenums.c.tail.

        * libgimp/gimpenums.c.tail: Added into CVS.
2004-10-27 22:46:40 +00:00