Commit graph

44 commits

Author SHA1 Message Date
Jehan
8900967a81 extensions, libgimp, plug-ins: remove n_drawables arg from GimpImageProcedure's…
… run() function.

This is more consistent with recent changes in PDB, and now the
drawables argument is NULL-terminated.
2024-10-28 22:08:45 +01:00
Jehan
d493f0537f Issue #8900 and #9923: reimplementing GimpUnit as a proper class.
This fixes all our GObject Introspection issues with GimpUnit which was
both an enum and an int-derived type of user-defined units *completing*
the enum values. GIR clearly didn't like this!

Now GimpUnit is a proper class and units are unique objects, allowing to
compare them with an identity test (i.e. `unit == gimp_unit_pixel ()`
tells us if unit is the pixel unit or not), which makes it easy to use,
just like with int, yet adding also methods, making for nicer
introspected API.

As an aside, this also fixes #10738, by having all the built-in units
retrievable even if libgimpbase had not been properly initialized with
gimp_base_init().
I haven't checked in details how GIR works to introspect, but it looks
like it loads the library to inspect and runs functions, hence
triggering some CRITICALS because virtual methods (supposed to be
initialized with gimp_base_init() run by libgimp) are not set. This new
code won't trigger any critical because the vtable method are now not
necessary, at least for all built-in units.

Note that GimpUnit is still in libgimpbase. It could have been moved to
libgimp in order to avoid any virtual method table (since we need to
keep core and libgimp side's units in sync, PDB is required), but too
many libgimpwidgets widgets were already using GimpUnit. And technically
most of GimpUnit logic doesn't require PDB (only the creation/sync
part). This is one of the reasons why user-created GimpUnit list is
handled and stored differently from other types of objects.

Globally this simplifies the code a lot too and we don't need separate
implementations of various utils for core and libgimp, which means less
prone to errors.
2024-08-02 10:46:38 +02:00
Anders Jonsson
f9711673b8 plug-ins: remove parenthesis in string 2024-07-28 12:16:32 +00:00
Alx Sa
6effe7d38c plug-ins: Port int_combo properties to GimpChoice
web-page.c was left as additional font
sizes besides the GUI choices could be set
via a PDB call. The export plug-ins int
combos will be updated in a separate
merge request.
Additionally, the region choice in screenshot.c
was hidden on Windows since it does not
yet implement that option.
2024-07-26 18:56:53 +00:00
Alx Sa
4bf5dc7b97 plug-ins: Port argument macros to functions
With the new API introduced int d1c4457f,
we next need to port all plug-ins using
the argument macros to functions.
This will allow us to remove the macros
as part of the 3.0 API clean-up.
2024-06-13 23:17:48 +00:00
Alx Sa
6a981012be widgets, plug-ins: GeglColor port and fix
The border-drawing code for Layer icons
has been ported to GeglColor. Note that
GimpViewRenderer still uses GimpRGB for
gimp_cairo_checkerboard_create (), which
will be fixed in a larger commit.

In 9bee3bed, Border Average's return
value was set to NULL rather than a valid
GeglColor when the procedure was
created, which caused a warning on
launch. This has been fixed.
2024-03-28 13:51:55 +00:00
Alx Sa
9bee3bed2a plug-ins, libgimpbase, text: Port border-average...
...to fully use and return GeglColor.
Also, fix gimptext-parasite sending a
GimpRGB to create a GimpText instead of
the now required GeglColor, and update
documentation in gimp_checks_get_colors
to reference GeglColor instead of GimpRGB.
2024-03-25 02:21:54 +00:00
Jehan
f18266cb04 app, libgimp, pdb, plug-ins: gimp_context_[gs]et_foreground() now using GeglColor.
Also the color is internally stored as GeglColor, though there are still get
APIs and signals using GimpRGB.

The equivalent PDB functions are also changed to use GeglColor, same as app/
functions.
2024-02-11 23:28:02 +01:00
Jehan
bf8ee69570 plug-ins: fix some broken macros with a massive search-and-replace.
If we leave a space between the macro name and opening parenthese for argument
lists, the args are not considered macro args (which will be discovered when
using it). I experienced this issue while testing code on some plug-in
yesterday, so thought I might as well fix all these broken macros for casting to
the specific GimpPlugIn subclass, so that we won't have a next time.
2023-10-18 18:29:37 +02:00
Jehan
1d50c81130 libgimp, plug-ins, extensions: gimp_image_procedure_new2() renamed gimp_image_procedure_new(). 2023-10-01 21:02:34 +02:00
Jehan
5cc1c898d7 libgimp, plug-ins: enhance gimp_procedure_dialog_get_label() with markup and…
… mnemonic abilities.
2023-10-01 20:52:01 +02:00
Jehan
2f91e45b4f plug-ins: port easy plug-ins to gimp_image_procedure_new2().
These were the plug-ins already using gimp_procedure_config_*() API.
2023-10-01 20:52:01 +02:00
Jehan
2541389b0c plug-ins: don't use a hardcoded 256 as max border.
Half of the smaller dimension seem a better value, since once we reach any half,
it means we will compute using all pixels anyway. Any width higher than this is
useless.
2023-06-21 17:33:04 +02:00
Alx Sa
519b627f5d plug-ins: Port border-average to...
...GimpProcedureDialog.
Also provides an example of the new 
gimp_procedure_dialog_get_size_entry () API.
2023-06-21 14:05:19 +00:00
Jehan
df074bfe09 plug-ins: label and documentation of plug-ins localized plug-in side.
This is the consequence of previous commit. Plug-ins' label and
documentation are now localized before sending these data to GIMP core.
In other words, we replace N_() macros with basic gettext calls.
2022-07-05 12:23:51 +02:00
Jehan
18c37f7084 plug-ins, libgimp: override set_i18n() for all our core plug-ins.
Hence avoiding the stderr messages. These are going to be localized with
centrally installed catalogs "gimp*-std-plugins", "gimp*-script-fu" and
"gimp*-python".

We now handle core plug-in localizations differently and in particular,
with kind of a reverse logic:

- We don't consider "gimp*-std-plugins" to be the default catalog
  anymore. It made sense in the old world where we would consider the
  core plug-ins to be the most important and numerous ones. But we want
  to push a world where people are even more encouraged to develop their
  own plug-ins. These won't use the standard catalog anymore (because
  there are nearly no reasons that the strings are the same, it's only a
  confusing logic). So let's explicitly set the standard catalogs with
  DEFINE_STD_SET_I18N macro (which maps to a different catalog for
  script-fu plug-ins).
- Doing something similar for Python plug-ins which have again their own
  catalog.
- Getting rid of the INIT_I18N macro since now all the locale domain
  binding is done automatically by libgimp when using the set_i18n()
  method infrastructure.
2022-06-05 01:57:02 +02:00
Jehan
79e608694e plug-ins: fix many GimpImageProcedure to new run() API.
No logics change so far.
2021-04-04 01:40:00 +02:00
Michael Natterer
df8d5b02ae libgimp, plug-ins: remove the "preview" parameter from gimp_ui_init()
It's dead since a looong time.
2019-09-20 19:56:00 +02:00
Michael Natterer
8a78203aed Properly prefix the values of enum GimpPDBProcType
to be GIMP_PDB_PROC_TYPE_PLUGIN, _EXTENSION etc.
2019-08-30 12:52:28 +02:00
Jehan
1b992e98d3 plug-ins: port border-average to new API. 2019-08-28 12:23:16 +02:00
sabri ünal
43fb9242ca Typo 2019-01-24 22:11:31 +00:00
Ell
053e5edc93 libgimpcolor, app, modules, plug-ins: remove GEGL_ITERATOR2 define
... it's no longer needed, since GEGL commit
gegl@9dcd2cde63f95a080bf16a58c10e9ffbdd99aace.

Partially reverts commits:

6fca9959c7
cc10af72cc
49c53568d7
8edbc0d491
29f63616d2
3a2014984d
ee48ec6877
4165a315d5
764085278f
b7633c722e
6ab12061b7
754a3c5b18
22b4b647bd
55b3438328
c6d23add65
f03a84d607
822f9f0d2b
95358ca1fa
cdda37f4ee
41e8035635
6761da42b2
fb5d7832a8
97ed7817d8
46e9036578
ea9c5e6a49
24fbdfb591
beb4ecb238
4b77831e03
fcf113a39c
567ffe94ff
2018-12-02 11:15:37 -05:00
Øyvind Kolås
754a3c5b18 plug-ins: border-average migrated to new iterator api 2018-09-11 01:52:18 +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
bdbec7941c Use the new macros from the last commit in all files
...and gone are the annoying warnings.
2018-05-20 21:06:34 +02:00
Simon Budig
9bd634a9c4 plug-ins: try to catch all gtk_table_* uses for the size-entries 2018-05-20 21:06:32 +02:00
Massimo Valentini
f2306abc0a Bug 761170: Warnings building with clang
Fix some of the warnings.
2017-07-15 21:05:56 +02:00
Michael Natterer
801bd8fb3f plug-ins: get rid of icons in dialog buttons (use labels not stock IDs) 2017-02-12 16:18:54 +01:00
Michael Natterer
4df9a1d568 Get rid of gtk_misc_set_alignment(label) and use gtk_label_set_x,yalign() 2016-09-08 19:11:20 +02:00
Michael Natterer
45922c71c7 plug-ins: fix some formatting in border-average.c 2016-08-03 23:42:37 +02:00
Akkana Peck
df6034884a Fix variable used uninitialized warnings.
Set upper bound to the size of the image, though the size_entry
seems to ignore upper and lower bounds anyway.
2016-07-30 21:17:16 -06:00
Andrew Worsley
a3f2b1ab68 Bug 155733 - need to check return values of gimp_drawable_mask_bounds()
Remove gimp_drawable_mask_bounds() from border-average.c
2015-10-10 17:07:31 +02:00
Michael Natterer
b5530e9e3d Use the new GeglAccessMode enum instead of the old values 2014-07-02 02:00:35 +02:00
Michael Natterer
56cdf642fc Bug 719662 - plug-in-borderaverage returns a garbage alpha value
Return a fully opaque color instead of a random-memory alpha value.
2013-12-01 23:00:24 +01:00
Téo Mazars
48c18ce784 plugins: port border-average.c to GEGL 2013-07-15 22:48:41 +02:00
Michael Natterer
dcb4c6e34a plug-ins: use gtk_box_new() 2011-09-30 12:18:24 +02:00
Michael Natterer
ab3fe10275 plug-ins: remove some more -Wunused-but-set-variable 2011-05-15 21:12:49 +02:00
Michael Natterer
8c4d99f883 Bug 645456 - Inconsistent window (role) naming scheme
Applied patch from Christoph Kappel which adds a "gimp-" prefix to all
plug-in dialog window roles.
2011-04-08 20:31:34 +02:00
Michael Natterer
97a73ea83f app: use gtk_box_pack_start() to pack a dialog's toplevel container
instead of gtk_container_add()'s because otherwise the widget will not
expand in GTK+ 3.x
2011-03-04 10:44:58 +01:00
Michael Natterer
e805cb0cf4 Use gtk_dialog_get_content_area() instead of dialog->vbox 2009-07-15 18:57:12 +02:00
Michael Natterer
4ea1437646 plug-ins/common/*.c plug-ins/color-rotate/color-rotate.c
2009-01-19  Michael Natterer  <mitch@gimp.org>

	* plug-ins/common/*.c
	* plug-ins/color-rotate/color-rotate.c
	* plug-ins/file-bmp/bmp.c
	* plug-ins/file-faxg3/faxg3.c
	* plug-ins/file-fits/fits.c
	* plug-ins/file-fli/fli-gimp.c
	* plug-ins/file-ico/ico.c
	* plug-ins/file-jpeg/jpeg.c
	* plug-ins/file-psd/psd-save.c
	* plug-ins/file-psd/psd.c
	* plug-ins/file-sgi/sgi.c
	* plug-ins/file-uri/uri.c
	* plug-ins/file-xjt/xjt.c
	* plug-ins/flame/flame.c
	* plug-ins/fractal-explorer/fractal-explorer.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gimpressionist/gimp.c
	* plug-ins/gradient-flare/gradient-flare.c
	* plug-ins/help-browser/help-browser.c
	* plug-ins/ifs-compose/ifs-compose.c
	* plug-ins/imagemap/imap_main.c
	* plug-ins/lighting/lighting-main.c
	* plug-ins/map-object/map-object-main.c
	* plug-ins/maze/maze.c
	* plug-ins/metadata/metadata.c
	* plug-ins/pagecurl/pagecurl.c
	* plug-ins/print/print.c
	* plug-ins/pygimp/gimpfu.py
	* plug-ins/script-fu/script-fu-script.c
	* plug-ins/script-fu/script-fu.c
	* plug-ins/selection-to-path/selection-to-path.c
	* plug-ins/twain/twain.c
	* plug-ins/win-snap/winsnap.c: document the "run-mode" parameter
	as we document enums for core procedures.


svn path=/trunk/; revision=27922
2009-01-19 20:11:36 +00: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
ca5df86e47 corrected parameter description.
2008-04-09  Sven Neumann  <sven@gimp.org>

	* plug-ins/common/border-average.c: corrected parameter 
description.


svn path=/trunk/; revision=25446
2008-04-09 17:21:05 +00:00
Michael Natterer
bfa8547a93 Renamed tons of plug-ins to make more sense and to be consistent:
2008-03-24  Michael Natterer  <mitch@gimp.org>

	Renamed tons of plug-ins to make more sense and to be consistent:

	* plug-ins/common/AlienMap2.c -> alien-map.c
	* plug-ins/common/CEL.c -> cel.c
	* plug-ins/common/CML_explorer.c -> cml-explorer.c
	* plug-ins/common/align_layers.c -> align-layers.c
	* plug-ins/common/animationplay.c -> animation-play.c
	* plug-ins/common/animoptimize.c -> animation-optimize.c
	* plug-ins/common/apply_lens.c -> lens-apply.c
	* plug-ins/common/autocrop.c -> crop-auto.c
	* plug-ins/common/autostretch_hsv.c -> contrast-stretch-hsv.c
	* plug-ins/common/borderaverage.c -> border-average.c
	* plug-ins/common/bumpmap.c -> bump-map.c
	* plug-ins/common/c_astretch.c -> contrast-stretch.c
	* plug-ins/common/ccanalyze.c -> color-cube-analyze.c
	* plug-ins/common/channel_mixer.c -> channel-mixer.c
	* plug-ins/common/color_enhance.c -> color-enhance.c
	* plug-ins/common/colortoalpha.c -> color-to-alpha.c
	* plug-ins/common/convmatrix.c -> convolution-matrix.c
	* plug-ins/common/curve_bend.c -> curve-bend.c
	* plug-ins/common/depthmerge.c -> depth-merge.c
	* plug-ins/common/dog.c -> edge-dog.c
	* plug-ins/common/exchange.c -> color-exchange.c
	* plug-ins/common/flarefx.c -> lens-flare.c
	* plug-ins/common/fp.c -> filter-pack.c
	* plug-ins/common/fractaltrace.c -> fractal-trace.c
	* plug-ins/common/gauss.c -> blur-gauss.c
	* plug-ins/common/gee_zoom.c -> gee-zoom.c
	* plug-ins/common/glasstile.c -> tile-glass.c
	* plug-ins/common/gqbist.c -> qbist.c
	* plug-ins/common/gradmap.c -> gradient-map.c
	* plug-ins/common/laplace.c -> edge-laplace.c
	* plug-ins/common/lens.c -> lens-distortion.c
	* plug-ins/common/lic.c -> van-gogh-lic.c
	* plug-ins/common/max_rgb.c -> max-rgb.c
	* plug-ins/common/mblur.c -> blur-motion.c
	* plug-ins/common/nlfilt.c -> nl-filter.c
	* plug-ins/common/noisify.c -> noise-rgb.c
	* plug-ins/common/normalize.c -> contrast-normalize.c
	* plug-ins/common/papertile.c -> tile-paper.c
	* plug-ins/common/polar.c -> polar-coords.c
	* plug-ins/common/randomize.c -> noise-randomize.c
	* plug-ins/common/redeye.c -> red-eye-removal.c
	* plug-ins/common/retinex.c -> contrast-retinex.c
	* plug-ins/common/sample_colorize.c -> sample-colorize.c
	* plug-ins/common/scatter_hsv.c -> noise-hsv.c
	* plug-ins/common/sel_gauss.c -> blur-gauss-selective.c
	* plug-ins/common/semiflatten.c -> semi-flatten.c
	* plug-ins/common/smooth_palette.c -> smooth-palette.c
	* plug-ins/common/snoise.c -> noise-solid.c
	* plug-ins/common/sobel.c -> edge-sobel.c
	* plug-ins/common/spheredesigner.c -> sphere-designer.c
	* plug-ins/common/spread.c -> noise-spread.c
	* plug-ins/common/struc.c -> apply-canvas.c
	* plug-ins/common/threshold_alpha.c -> threshold-alpha.c
	* plug-ins/common/tileit.c -> tile-small.c
	* plug-ins/common/tiler.c -> tile-seamless.c
	* plug-ins/common/uniteditor.c -> unit-editor.c
	* plug-ins/common/unsharp.c -> unsharp-mask.c
	* plug-ins/common/vinvert.c -> value-invert.c
	* plug-ins/common/vpropagate.c -> value-propagate.c
	* plug-ins/common/webbrowser.c -> web-browser.c
	* plug-ins/common/whirlpinch.c -> whirl-pinch.c
	* plug-ins/common/zealouscrop.c -> crop-zealous.c

	* plug-ins/common/plugin-defs.pl: changed accordingly.

	* plug-ins/common/Makefile.am: regenerated.


svn path=/trunk/; revision=25192
2008-03-24 15:29:55 +00:00
Renamed from plug-ins/common/borderaverage.c (Browse further)