NEWS: update.

This commit is contained in:
Jehan 2023-10-27 14:49:59 +02:00
parent 2dcc8eea93
commit 28e94a6d8f
1 changed files with 91 additions and 1 deletions

92
NEWS
View File

@ -110,6 +110,15 @@ Graphical User Interface:
- Colormap dockable:
* New "Delete" button available and sensitive only when selecting an unused
color in the palette.
- Windows: title bar will be switched to light or dark mode based on the
current theme.
- The quit dialog now adjusts its size relatively to monitor height.
- The heuristic to set a cursor when single or multi-selecting items in a tree
view got reviewed in order to avoid unecessary scroll. As a general rule,
the cursor is always set to one of the selected element, ideally the last
clicked element unless it is not selected (e.g. removed with Ctrl-click),
then a closest selected element is chosen to avoid unecessarily scroll of
the item list.
Tools:
@ -147,6 +156,7 @@ Plug-ins:
* added support to load PSP ICC Profile data.
* fixed vulnerabilities: ZDI-CAN-22096, ZDI-CAN-22097.
* load active selection from PSP file.
* Load guides and grid info.
- Image Map: two new fields to the HTML Link tab and one new field to the
Javascript tab for area properties:
* accesskey: The same as the mnemonic key shortcuts in GTK, to activate an
@ -158,12 +168,17 @@ Plug-ins:
- PSD: fixed vulnerabilities: ZDI-CAN-22094.
- DDS: fixed vulnerabilities: ZDI-CAN-22093.
- All plug-ins were ported to the new Gimp*Procedure API using
GimpProcedureConfig instead of GimpValueArray arguments).
GimpProcedureConfig instead of GimpValueArray arguments.
- GIF:
* Added support of non-square aspect ratio by setting different vertical and
horizontal resolution when a loaded file has the PixelAspectRatio metadata
set.
- Add Border (script-fu): add a 'Allow resizing' toggle.
- Plug-ins ported to GimpProcedureDialog: van-gogh-lic, dds-write, flame,
histogram-export, lighting, fractal-explorer, map-object, sample-colorize,
compose, curve-bend, depth-merge, selection-to-path, pagecurl, file-cel,
file-svg, file-wmf, smooth-palette, small-tile, film, gradient-flare, tile,
web-page, screenshot.
Translations:
@ -236,6 +251,8 @@ API:
+ gimp_font_get_pango_font_description()
+ gimp_fonts_get_by_name()
+ gimp_image_get_palette()
+ gimp_procedure_run_config()
+ gimp_procedure_run_valist()
* Removed functions:
+ gimp_procedure_config_begin_run()
+ gimp_procedure_config_end_run()
@ -243,6 +260,15 @@ API:
+ gimp_procedure_config_end_export()
+ gimp_procedure_config_get_values()
+ gimp_procedure_config_set_values()
+ gimp_pdb_run_procedure_argv()
+ gimp_pdb_run_procedure()
+ gimp_pdb_run_procedure_valist()
+ gimp_pdb_run_procedure_array()
+ gimp_pdb_run_procedure_config()
+ gimp_procedure_new_arguments()
+ gimp_pdb_set_data() a.k.a. gimp_set_data()
+ gimp_pdb_get_data() a.k.a. gimp_get_data()
+ gimp_pdb_get_data_size() a.k.a. gimp_get_data_size()
* Modified functions:
+ gimp_procedure_dialog_get_label():
1. Added `is_markup` and `with_mnemonic` boolean arguments.
@ -268,6 +294,8 @@ API:
+ gimp_text_fontname() renamed gimp_text_font().
+ gimp_text_get_extents_fontname() renamed gimp_text_get_extents_font().
+ gimp_ui_init() now implies a gegl_init().
+ gimp_procedure_run() now uses a variable argument list of (name, value)
pairs.
* New classes:
+ GimpPickableSelect
+ GimpDrawableChooser
@ -304,6 +332,68 @@ API:
- Choices can be made insensitive if needed.
- A proper widget (GimpStringComboBox) will be generated by
GimpProcedureDialog by default.
* PDB: the big change in the PDB is that we decided not to warrant argument
orders anymore. In particular, it means that the libgimp functions to run
PDB procedures are not based on an ordered array of arguments anymore but
on named arguments only.
+ The first consequence is that it will be possible to add arguments, and
even order them however we want in the list of arguments. For
backward-compatibility, what will matter is only that the procedure
using the default values for the new arguments will behave the same way
it did when it used not to have said arguments. Then scripts won't break
as we add new arguments and we won't have to create alternative v2 or v3
PDB procedures each time we wish to add a new feature.
+ The second consequence is that calling PDB procedures is now much more
semantic. Firstly we can ignore arguments for which we keep the default
values; secondly every argument will be accompanied by a name instead of
being a long list of int or boolean values.
Typically while we used to call a PDB like this:
```C
gimp_pdb_run_procedure (gimp_get_pdb (),
"file-png-save",
GIMP_TYPE_RUN_MODE, GIMP_RUN_NONINTERACTIVE,
GIMP_TYPE_IMAGE, image,
G_TYPE_INT, 1,
GIMP_TYPE_OBJECT_ARRAY, args,
G_TYPE_FILE, file,
G_TYPE_BOOLEAN, FALSE,
G_TYPE_INT, 9,
G_TYPE_BOOLEAN, FALSE,
G_TYPE_BOOLEAN, FALSE,
G_TYPE_BOOLEAN, FALSE,
G_TYPE_BOOLEAN, FALSE,
G_TYPE_BOOLEAN, FALSE,
G_TYPE_BOOLEAN, FALSE,
G_TYPE_NONE);
```
We can now call it like this (with a shorter list of arguments, ignoring
all the ones which we keep default, not bothering about arg order and
tagging each arg with a semantic name):
```C
gimp_procedure_run (gimp_pdb_lookup_procedure (gimp_get_pdb (),
"file-png-save"),
"run-mode", GIMP_RUN_NONINTERACTIVE,
"image", image,
"num-drawables", 1,
"drawables", drawables,
"file", file,
"bkgd", FALSE,
"phys", FALSE,
"time", FALSE,
NULL);
```
+ The few libgimp functions of the form `gimp_pdb_run_procedure*()` were
removed and moved directly to `gimp_procedure_run*()` variant. The
presence of both interfaces was making it confusing.
+ For bindings not able to replicate variable arguments functions, the
bindable function will be gimp_procedure_run_config() only, which will
be renamed to gimp_procedure_run() in bindings.
+ Note that internally the argument order is still relevant for any system
which interfaces directly with the PDB instead of libgimp. In other
words, it is still relevant for script-fu which generates functions out
of PDB procedures directly (not libgimp).
+ GimpObjectArray arguments now allow NULL through the pipe as meaning an
empty array.
- Changes in libgimpbase:
* New classes:
+ GimpChoice: meant to represent a list of allowed strings values.