Commit Graph

1211 Commits

Author SHA1 Message Date
72af40b427 devel-docs: generate both gjs (Javascript) and Python API docs.
Apparently g-ir-doc-tool does not support other language than C, Python
and gjs right now (in particular neither Lua nor Vala bindings).
2021-01-29 18:04:20 +01:00
eae3d47e32 devel-docs, meson: g-ir-doc option to generate introspected API docs.
Similar to the --enable-g-ir-doc option I just added on autotools. Also
separate this option from gtk-doc as it is unrelated (not everything
under devel-docs is related to gtk-doc!).
2021-01-29 16:51:47 +01:00
4b39217181 devel-docs: generate Python API (GObject Introspected) documentation.
So much easier to write in autotools! Anyway here it is, also with a new
option --enable-g-ir-doc (by default set to false).
2021-01-29 15:22:36 +01:00
82209920a9 devel-docs: Introspected Python libgimp and libgimpui docs generation.
Based on the proposed process proposed by Akkana Peck. Thanks Akk!
For now, it's only in the meson build, which is fairly terrible to use
as soon as we do custom build rules. Here are the list of issues:

- meson does not allow building in subdir (issue 2320 on meson tracker).
  Sure I could make several subdirs with meson in them. But here the
  future goal would be to be able to generate docs for other
  introspected languages, and maybe also other output formats (epub or
  whatnot). For this, since these are basically the same commands which
  are used, the best practice would be to have loops generating one
  target per language/format combination, reusing code rather than ugly
  copy-pasting in subdirectories' meson files).
- custom_target() requires the output parameter to be the complete list
  of generated files. But we have more than a thousand of them. It's not
  practical. Maybe we could try to find a way to generate the list from
  the contents of the .def files which are already exhaustive and exact.
- Install also requires the output list to be complete.
- I temporarily have these docs not generated by default (because the
  gtk-doc option is already crazy slow as it is, making meson near
  unusable for development if it's enabled). If you want to generate the
  docs, the commands are as following (yeah I don't understand what the
  target names are for since meson does not actually create targets with
  these names, so we have to use fake output names instead):

> ninja devel-docs/g-ir-docs/Gimp-python-html
> ninja devel-docs/g-ir-docs/GimpUi-python-html
2021-01-21 16:50:47 +01:00
6dc3cb16dd devel-docs: Update libgimpwidgets3-sections.txt
Some functions have been removed while others got added.
2020-12-29 23:07:07 +01:00
50a0f49762 devel-docs: some small release-howto updates. 2020-12-23 01:54:10 +01:00
82391c136b devel-docs: some updates to release-howto.txt 2020-12-22 20:40:31 +01:00
59f2ba44c7 libgimp, devel-docs: enhance GIMP-PLUGIN-DEBUG backtrace 2020-12-18 01:17:54 +01:00
bb322d94d7 Fix typos
Found via:
```
codespell -q 3 -S ./ChangeLog*,*.po,./.git,./NEWS* -L als,ang,ba,chello,daa,doubleclick,foto,hist,iff,inport,klass,mut,nd,ower,paeth,params,pard,pevent,sinc,thru,tim,uint
```
2020-11-19 21:56:25 +01:00
a7f40df469 Add some new files to the GIMP3-plug-in-porting-guide, including a README 2020-10-27 10:20:06 -06:00
4d67667efc devel-docs: add a "removed functions" table with replacement proposal.
Let's start up some porting guide for plug-in developers. One of the
first things to do is to get rid of any deprecated functions from 2.10
or older versions. In the current stable, these would "just" output
warnings, but in the dev version, all deprecated functions got removed
and the build would fail.

This list may not be complete. I mostly created it by some grep on
deprecated functions from libgimp 2.10.
2020-10-26 15:36:42 +01:00
0052803313 devel-docs: REVERT THIS once module.actions get removed automatically
Add the newly generated .actions files to CLEANFILES manually.
2020-10-25 20:18:52 +01:00
4e79aaf20c devel-docs: add the newly generated module.actions files to .gitignore 2020-10-25 19:57:30 +01:00
43d0f0fbd2 gimppdb: Allow more easy bindable API
Plug-ins that work from different bindings probably want to use their
own list-type to specify arguments, rather than working with a more
cumbersome `GimpValueArray`.

This new API should make it less verbose. For example:

```
args = Gimp.ValueArray.new(5)
args.insert(0, GObject.Value(Gimp.RunMode, Gimp.RunMode.NONINTERACTIVE))
args.insert(1, GObject.Value(Gimp.Image, image))
args.insert(2, GObject.Value(Gimp.Drawable, mask))
args.insert(3, GObject.Value(GObject.TYPE_INT, int(time.time())))
args.insert(4, GObject.Value(GObject.TYPE_DOUBLE, turbulence))
Gimp.get_pdb().run_procedure('plug-in-plasma', args)
```

becomes

```
Gimp.get_pdb().run_procedure('plug-in-plasma', [
    GObject.Value(Gimp.RunMode, Gimp.RunMode.NONINTERACTIVE),
    GObject.Value(Gimp.Image, image),
    GObject.Value(Gimp.Drawable, mask),
    GObject.Value(GObject.TYPE_INT, int(time.time())),
    GObject.Value(GObject.TYPE_DOUBLE, turbulence),
])
```
2020-09-20 11:36:01 +00:00
5d3ca7d714 propwidget: Add gimp_prop_switch_new()
Allow developers to add a `GtkSwitch` based on a property. Also start
using it in the first preferences page.
2020-08-22 23:53:49 +00:00
Ell
d7de0781ab devel-docs: document new "Messages" performance-log parameter 2020-08-02 11:02:01 +03:00
Ell
0fae46133c devel-docs: use actual em-dashes in performance-logs documentation 2020-07-30 18:27:48 +03:00
Ell
ca6f577413 devel-docs: remove old performance-logs-parameters section 2020-07-30 18:19:50 +03:00
Ell
1d70fee1fd devel-docs: fix image URL in performance-logs documentation 2020-07-30 18:17:59 +03:00
Ell
d72e6b3aed devel-docs: update documentation of performance-log parameters 2020-07-30 18:15:32 +03:00
b5af88a563 devel-docs: add some debugging tricks for Flatpak.
The `info line` in particular was given by Ell and will make trace
handling a lot easier as it means we may not have to ask for traces with
debug symbols or gdb with Flatpak. We can indeed get these infos back
ourselves since we are guaranted to use the exact same binaries.

This together with the change in verbose version output I did 2 weeks
ago (commit bc5f6371e9), allowing us to check the exact Flatpak hash
commit used by a reporter, Flatpak debugging should be a lot easier with
just the simpler stack trace format.
2020-07-30 16:55:46 +02:00
6449dd7c14 devel-docs: add a tip for testing an older GIMP version with flatpak.
Flatpak repositories can store successive builds (up to 20 in the
Flathub repository in particular), even though by default it installs
only the last build.
I added in `debugging-tips.txt` the commands to search for and
explicitly install an older build of our official GIMP build. This can
be useful to compare some behaviorial changes as reported by users,
without having to re-compile old commits just for a quick test.
2020-06-01 17:21:29 +02:00
7e0adbc282 devel-docs: update XCF docs with XCF 14 changes. 2020-05-17 18:32:16 +02:00
ec7db847d0 docs: libgimp3: Add missing GimpProgressVtable*Func
We added these entries for the GObject introspection annotations, but
forgot to add them to the gtk-doc sections.
2020-05-12 22:55:19 +02:00
7a8a300adc gimpconfig-iface: Use G_DECLARE_INTERFACE 2020-05-10 14:45:19 +00:00
65b12c108d libgimpwidgets: UnitStore: Fix conflicting names
`gimp_unit_store_get_value()` clashes with the `get_value()` method of
its parent class GtkTreeStore. This means trouble for bindings, as seen
here in some pseudocode:

```vala
var unit_store = new Gimp.UnitStore();
// Which function are we referencing here, the one from GtkTreeStore or
// the one from GimpUnitStore? Worse, they both have different arguments
unit_store.get_value( ... )
```
2020-05-10 12:06:33 +00:00
29b1d91b76 devel-docs: update debugging-tips with GEGL's meson option names. 2020-05-05 18:42:26 +02:00
cf41d1fdf8 colorselector: Rename signal emitters
The GIR parser is giving warnings because both e.g. a signal, a
corresponding vfunc and a method emitting it are named
"channel_changed", which can and will give issues in some bindings.

The easiest option is to follow the general convention of starting the
signal emitters with `emit_`, which also makes clear the intention of
the method.
2020-05-03 23:23:44 +02:00
878804fb01 Cleanup GObject signal marshallers
* Don't generate our own marshallers if they are available in GLib
  already
* Don't set the c_marshaller parameter in `g_signal_new()` if it's a
  default marshaller provided by GLib. See commit message of commit
  39e4aa3c57 on why this is the case.
2020-04-01 21:20:01 +00:00
9908c14fbf devel-docs: Fix id of PROP_BLEND_SPACE 2020-03-30 11:04:59 +02:00
a928452eba Fix typos
Found via `codespell -q 3 -S ./ChangeLog*,*.po -L als,ang,ba,chello,daa,doubleclick,foto,hist,iff,inport,klass,mut,nd,ower,paeth,params,pard,pevent,sinc,thru,tim,uint`
2020-03-17 12:30:45 +00:00
Ell
bb8d933033 devel-docs: add missing functions to libgimpfoo-sections.txt 2020-02-16 02:28:00 +02:00
6b5d1a0d46 Fix reference from gimp_param_spec_duplicate to gimp_config_param_spec_duplicate 2020-01-17 11:17:03 +01:00
Ell
006f300fff libgimpmath: add gimp_matrix3_equal()
... which compares two matrices.
2020-01-16 00:23:55 +02:00
Ell
0271f4c861 libgimpmath: add version annotations to new matrix functions 2020-01-15 18:24:20 +02:00
Ell
e3bc877a42 libgimpmath: add various GimpMatrix4 functions
Add gimp_matrix4_{identity,mult,transform_point}().
2020-01-06 21:49:57 +02:00
Ell
edfc837e7d libgimpmath: add various GimpMatrix2 functions
Add gimp_matrix2_{determinant,invert,transform_point}().
2020-01-06 21:49:57 +02:00
89ed6ae8ee devel-docs: update the stats script.
Look up commit stats for meson build system and Gitlab CI, and small fix
on icon stats.
2020-01-01 23:27:43 +01:00
1be4ec2100 libgimpbase: remove enum GimpBlendMode, it's not used any longer 2019-11-19 21:13:31 +01:00
876199a03f devel-docs, libgimp: update some .gitignore files 2019-11-19 20:40:22 +01:00
5f2a6940e3 app, devel-docs: remove dangling DBUS_GLIB_* variables.
dbus-glib is no more a dependency since commit c4460e84, i.e. already
since 2013!
2019-11-16 19:19:02 +01:00
672b77dedb devel-docs: update the XCF docs.
Various texts were still assuming 8-bit per component.
2019-10-31 16:49:53 +01:00
288b4097b5 devel-docs: fix and update the libgimp docs 2019-10-28 12:07:57 +01:00
0b3c496968 devel-docs: updates and fixes 2019-10-10 00:25:59 +02:00
35f55ef07a devel-docs: update a reference to 32-bit pointers.
Though the description of the POINTER type clearly tells of the new type
size, it was still refered as 32-bit only in this introductory text.
Let's fix this.
2019-10-02 01:13:23 +02:00
80e2e0a508 Issue #3990: make the status of the XCF docs a bit clearer (hopefully).
Though it may have started as an unofficial document, it is clearly now
an official one (which should be obvious since it is in our source
repository, but apparently some people get misled by the historical
"Status" text to think this to be somehow unofficial).
So first of all, change the s/official/unofficial/ mention.

Secondly, add a small paragraph explicitly telling that the document is
complete (and meant to be), to the best of our knowledge. This document
is a detailed, full and exhaustive written "specification" of the XCF
format up to GIMP 2.10.x (even though the normative spec is still the
code itself). Now we are humans, we may have missed something, and if
so, this is just to be considered as any other bug, and reported to us
nicely to be fixed.
2019-09-27 01:15:56 +02:00
44d10e458c Fix various typos
Found via `codespell` (v1.17.0.dev0)
2019-09-21 17:10:46 +00:00
d52316741f devel-docs: remove duplicate </SECTION> that broke quite some stuff 2019-09-20 00:34:42 +02:00
8cdab31393 app, libgimpconfig: move gimp_param_spec_duplicate() to libgimpconfig 2019-09-14 17:35:32 +02:00
81ff4941a0 libgimpmodule: clean up GimpModule and GimpModuleDB
- make all struct members private
- add accessors
- rename functions
- remove unused API
2019-09-13 13:11:23 +02:00