Commit Graph

1270 Commits

Author SHA1 Message Date
Jehan 3027b4eb4c devel-docs: update a bit the release-howto.
In particular add the need to wait a bit for installers before actually
publishing news. Also add a few usage examples for the gimp-web helper
tools for binary file publishing (torrent creation and mirror checking).
2021-05-06 02:47:18 +02:00
Jehan 8d8c77730c devel-docs: release-howto updated.
Update in particular the tarball creation steps. We now use tarballs
generated by the CI. I still leave information for doing it locally in
this howto, but mostly so that we can easily find this info for testing
or fixing dist bugs when needed. Other than this, if the CI works
flawlessly, a successful pipeline ends up with a proper tarball.

The main advantages of this approach are:

- Transparency: the full distribution process is now fully accessible on
  Gitlab, from the source, through the build (including all the logs)
  and up to the final tarball. Even the checksums are generated by the
  CI, making it easy to recognize if different tarballs were published
  on the download website or mirrors. This makes for a much safer and
  trustworthy publication process.

- Less bus factor: we don't rely as much on a single person to take care
  of the whole process.

- More automatization: a release still has to be prepared and verified
  manually (it always will), but at least the whole tarball creation is
  now automated. The next step will be to automate also the publication
  on the download server.
2021-04-29 20:21:30 +02:00
Jehan 9b978467c1 devel-docs: update release-howto. 2021-04-26 12:05:16 +02:00
Jehan 88e6a8ec83 devel-docs: update the removed_functions table. 2021-04-21 00:40:28 +02:00
Jehan 70a9576f27 app, devel-docs, libgimpbase: s/gimp_parasite_name/gimp_parasite_get_name/…
… and s/gimp_parasite_flags/gimp_parasite_get_flags/

It is better to have a consistent API and the fact is that most
getter/setter functions use the _get|set_ naming, but these didn't.

I wondered if this was such a great idea to rename these anyway because
even though we are breaking API in GIMP 3, is it the best idea to rename
when no functional change happened? After discussing with Wormnest, we
still agreed it was still better to go for consistency rather than
regret later (and be stuck with these names for many more years).

Also this fixes these warnings:

> [649/1205] Generating gimp-3.0.vapi with a custom command
> Gimp-3.0.gir:24162.7-24162.56: warning: Field `Gimp.Parasite.flags' conflicts with method of the same name
> Gimp-3.0.gir:24318.7-24318.52: warning: Field `Gimp.Parasite.name' conflicts with method of the same name
2021-04-05 18:36:44 +02:00
Jehan f3ee39c3c4 devel-docs: quick command to get the right flatpak runtime version.
For debugging the flatpak, we often ask people to install the SDK and
debug data. Yet there might be several branches of the GNOME SDK
installed at once, hence flatpak will ask which version to install.

This quick command can be copy-pasted as it's a way to detect which
runtime is being used by your flatpak-ed GIMP.
2021-03-28 17:18:52 +02:00
luz paz 6457394069 Issue #6446: Typo fixes. 2021-02-24 12:33:03 +01:00
Niels De Graef dffab0e9a4 Remove GimpInt16Array
It isn't being used by any plug-in or any code in GIMP at all even.
Let's get rid of it while we can still break API, so we can cut down on
all the complexity of the gimp-param stuff a bit.
2021-02-18 11:32:45 +00:00
Jehan 015f49467d Issue #6435: Off canvas guides.
Allow guides with off-canvas position since we can now view and work
outside the canvas.

The guide deletion interaction does not change too much, except you
don't delete a guide because it's dropped off-canvas but off the display
viewport area instead.

The XCF format is technically unchanged as PROP_GUIDES was already
expecting an int32 coordinate (with max value at GIMP_MAX_IMAGE_SIZE,
way below uint32 max anyway). Yet our code and XCF docs was explicitly
asking to ignore negative coordinate guides, which makes a change in
behavior for the XCF parser, hence a new version XCF 15. Loading will
still ignore negative position guides (even also bigger than image
dimension guides now) for XCF 14 and below, but will now accept any
position for XCF 15 and above.
2021-02-15 22:52:27 +01:00
Jehan 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
Jehan 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
Jehan 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
Jehan 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
Niels De Graef 6dc3cb16dd devel-docs: Update libgimpwidgets3-sections.txt
Some functions have been removed while others got added.
2020-12-29 23:07:07 +01:00
Jehan 50a0f49762 devel-docs: some small release-howto updates. 2020-12-23 01:54:10 +01:00
Michael Natterer 82391c136b devel-docs: some updates to release-howto.txt 2020-12-22 20:40:31 +01:00
bootchk 59f2ba44c7 libgimp, devel-docs: enhance GIMP-PLUGIN-DEBUG backtrace 2020-12-18 01:17:54 +01:00
luz paz 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
Akkana Peck a7f40df469 Add some new files to the GIMP3-plug-in-porting-guide, including a README 2020-10-27 10:20:06 -06:00
Jehan 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
Michael Natterer 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
Michael Natterer 4e79aaf20c devel-docs: add the newly generated module.actions files to .gitignore 2020-10-25 19:57:30 +01:00
Niels De Graef 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
Niels De Graef 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
Jehan 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
Jehan 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
Jehan 7e0adbc282 devel-docs: update XCF docs with XCF 14 changes. 2020-05-17 18:32:16 +02:00
Niels De Graef 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
Niels De Graef 7a8a300adc gimpconfig-iface: Use G_DECLARE_INTERFACE 2020-05-10 14:45:19 +00:00
Niels De Graef 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
Jehan 29b1d91b76 devel-docs: update debugging-tips with GEGL's meson option names. 2020-05-05 18:42:26 +02:00
Niels De Graef 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
Niels De Graef 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
Tobias Ellinghaus 9908c14fbf
devel-docs: Fix id of PROP_BLEND_SPACE 2020-03-30 11:04:59 +02:00
luz.paz 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
Oleksii Samorukov 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
Jehan 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
Michael Natterer 1be4ec2100 libgimpbase: remove enum GimpBlendMode, it's not used any longer 2019-11-19 21:13:31 +01:00
Michael Natterer 876199a03f devel-docs, libgimp: update some .gitignore files 2019-11-19 20:40:22 +01:00
Jehan 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
Jehan 672b77dedb devel-docs: update the XCF docs.
Various texts were still assuming 8-bit per component.
2019-10-31 16:49:53 +01:00
Michael Natterer 288b4097b5 devel-docs: fix and update the libgimp docs 2019-10-28 12:07:57 +01:00
Michael Natterer 0b3c496968 devel-docs: updates and fixes 2019-10-10 00:25:59 +02:00
Jehan 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
Jehan 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
luzpaz 44d10e458c Fix various typos
Found via `codespell` (v1.17.0.dev0)
2019-09-21 17:10:46 +00:00
Michael Natterer d52316741f devel-docs: remove duplicate </SECTION> that broke quite some stuff 2019-09-20 00:34:42 +02:00
Michael Natterer 8cdab31393 app, libgimpconfig: move gimp_param_spec_duplicate() to libgimpconfig 2019-09-14 17:35:32 +02:00
Michael Natterer 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
Michael Natterer 25f6198cc8 devel-docs: update the libgimp docs 2019-09-12 09:26:27 +02:00
Félix Piédallu 65eff6f150 Meson port. 2019-09-11 16:42:04 +02:00
Michael Natterer 6115d34fe8 Rename the "fileops" PDB group to just "file" 2019-09-10 21:38:11 +02:00
Michael Natterer 34489d1b13 libgimp: add section docs for GimpPlugIn with general information
and document the members of GimpProcedureClass. Also various
doc fixes.
2019-09-10 11:17:12 +02:00
Michael Natterer 005143a43e libgimp, devel-docs: fix docs for GimpPlugInClass and its members 2019-09-09 20:53:39 +02:00
Félix Piédallu 0792cb65f4 [devel-docs] move version file to deduplicate code 2019-09-09 18:15:13 +00:00
Michael Natterer 90053e477f devel-docs: update libgimp and libgimpbase docs 2019-09-05 21:27:28 +02:00
Michael Natterer d0f00bb76d devel-docs: update the libgimp and libgimpbase docs 2019-09-04 00:12:03 +02:00
Michael Natterer a47772bd93 devel-docs: update libgimp docs 2019-08-29 12:05:36 +02:00
Michael Natterer d62e75a41f Move GimpParamSpecString from libgimp back to app
It's just too weird to be public. Remove its properties from the wire
protocol and from pluginrc. Instead, have all GParamSpecs' flags on
the wire and in pluginrc, so we can use stuff like
GIMP_PARAM_NO_VALIDATE.

Port the remaining few places to GIMP_PROC_ARG_STRING().

I'm sure something is broken now wrt UTF-8 validation,
will add tighter checks in the next commit.
2019-08-19 12:54:52 +02:00
Michael Natterer b250af33e1 devel-docs: some doc updates 2019-08-18 14:15:24 +02:00
Niels De Graef 284ba5c870 libgimpconfig: Prevent GIR conflicts in GimpConfigWriter
GimpConfigWriter contains several constructors with the convention
`gimp_config_writer_new_* ()`. This will lead to problems however with
languages like Vala, where it cannot disambiguate the following:

```
// calls config_writer_new_string()
Gimp.ConfigWriter w = new ConfigWriter.string("xxx");
// calls config_writer_string()
w.string("xxx")
```

Using `from_` in constructors is general practice in GObject-bsed
libraries because of this.

This also fixes an error when trying to use vapigen on the GIMP .GIR
file.
2019-08-16 10:04:39 +00:00
Michael Natterer 652fd75891 Rename GIMP_TYPE_INT8_ARRAY to GIMP_TYPE_UINT8_ARRAY
and GimpParamSpecInt8Array to GimpParamSpecUInt8Array
2019-08-15 15:04:34 +02:00
Michael Natterer 350abba213 Remove GIMP_TYPE_INT16 and GimpParamSpecInt16
Use gint and GParamSpecInt with the right value range instead.
2019-08-15 14:17:17 +02:00
Michael Natterer 5a09523214 Remove GIMP_TYPE_INT32 and GimpParamSpecInt32
Use gint and GParamSpecInt instead.
2019-08-15 14:04:56 +02:00
Michael Natterer 1bf90ec77f Remove GIMP_TYPE_INT8 and GimpParamSpecInt8
Use guchar and GParamSpecUChar instead.
2019-08-15 13:34:11 +02:00
Michael Natterer 2cc080cf60 libgimp, devel-docs: why bother having docs for gimplegacy.[ch]
It's about to be dumped...
2019-08-14 21:04:18 +02:00
luz.paz 7e99aa59f5 Add other misc. typo fixes 2019-08-13 11:50:51 -04:00
Michael Natterer 78c7d46ad9 devel-docs: update the libgimp docs 2019-08-11 15:38:07 +02:00
Michael Natterer 4bafbeca1b devel-docs: doc updates, more doc modules without any warnings 2019-08-10 12:32:56 +02:00
Michael Natterer 6cb027f402 devel-docs: update the libgimp docs 2019-08-10 11:08:33 +02:00
Michael Natterer 2182efddfb devel-docs: update the libgimpconfig docs 2019-08-10 09:42:28 +02:00
Michael Natterer b6d39a4f3f devel-docs: update libgimpbase docs 2019-08-10 02:29:32 +02:00
Niels De Graef 1743f474e5 app/widgets: Use G_DECLARE_INTERFACE()
This cuts aways a little of the GObject boilerplate.
2019-08-09 19:48:21 +00:00
Niels De Graef d3e9e5617d app/core: Use G_DECLARE_INTERFACE()
This cuts aways a little of the GObject boilerplate.
2019-08-09 19:48:21 +00:00
Niels De Graef a0ba37649d libgimpcolor: colormanaged: Use G_DECLARE_INTERFACE()
This cuts aways a little of the GObject boilerplate.
2019-08-09 19:48:20 +00:00
Niels De Graef e77382ee75 docs: Fix warnings for annotations
Right now, we get the following warnings when building the docs:

> gtk-doc.xsl: For acronym (nullable) no value found

This is because we're not adding the generated annotation glossary to
the docs sgml (presumably because we didn't need it as we didn't use
GObject-Introspection yet). This commit adds those lines and thus fixes
the warnings.
2019-08-05 07:05:37 +00:00
Niels De Graef 1dda60154c Use "Returns:" to annotate return values
To be able to annotate return values through GObject-introspection, you
need to make sure it is tagged with `Returns:` and not something else.
2019-08-03 07:53:47 +00:00
Michael Natterer 254dee3b11 devel-docs: update the libgimp docs 2019-08-01 16:01:39 +02:00
Michael Natterer c9d6f93188 devel-docs: update the libgimpbase docs 2019-08-01 16:01:15 +02:00
Michael Natterer 0ec7534607 devel-docs: update the libgimpcolor docs 2019-08-01 12:47:57 +02:00
Michael Natterer acf36738b6 devel-docs: update the libgimpbase docs 2019-08-01 12:37:32 +02:00
Michael Natterer 8aaf517db4 devel-docs: add screenshots of more widgets 2019-07-25 15:24:59 +02:00
Michael Natterer 572775a60b devel-docs: update the libgimpwidgets docs with new widget shots
Added some more and some minor fixes.
2019-07-24 19:19:04 +02:00
Michael Natterer dcbd83cafc devel-docs: undeprecate doc-shooter and add a few more widgets
Doesn't use X11 any longer, just plain GTK and cairo.
2019-07-24 19:17:14 +02:00
Michael Natterer 7f39be196a devel-docs: rename to doc titles to "GIMP 3"
so they are different from the GIMP 2 docs.
2019-07-24 10:23:52 +02:00
Michael Natterer fbee862c50 devel-docs: remove gegl-porting-plan.txt, what was in there is done 2019-07-24 02:17:39 +02:00
Michael Natterer c2a38f0631 devel-docs: various documentation and build fixes 2019-07-24 01:21:16 +02:00
Michael Natterer 0131c96e1d devel-docs: undeprecate doc-shooterm but just so it builds
it's still horrible.
2019-07-23 19:33:48 +02:00
Michael Natterer 55fc774ca9 devel-docs: fix and update the libgimp docs 2019-07-23 19:33:48 +02:00
Michael Natterer 0155eccbf2 devel-docs: fix and update the libgimpthumb docs 2019-07-23 19:33:48 +02:00