1. MarkAsChanged method (protected) is added, which sets FChanged to
true.
2. Virtual DoAfterUpdateStarted and DoBeforeUpdateEnded methods
(protected) are added. They are called in first BeginUpdate and last
EndUpdate respectively.
This unit is not generated when building Gtk-3 units. We generate it
with a separate command (see below).
We constrained the units version to Bullseye (Debian 11.6) shipped
libraries.
They were generated using the following command:
```sh
gir2pas -P Laz -e Set
-M atk-2.36 \
-M pango-1.16 \
-M pangocairo-1.46 \
-M glib-2.66 \
-M gio-2.66 \
-M gmodule-2.66 \
-M gobject-2.66 \
-M gtk-3.24 \
-i /usr/share/gir-1.0/PangoCairo-1.0.gir \
-o lazarus/lcl/interfaces/gtk3/gtk3bindings
```
Added DLL name and entry point name to the external clause.
We constrained the units version to Bullseye (Debian 11.6) shipped
libraries.
They were generated using le following command:
```sh
gir2pas -P Laz -e Set -i /usr/share/gir-1.0/Gtk-3.0.gir -o gtk3-test-2 \
-M atk-2.36 \
-M pango-1.16 \
-M pangocairo-1.46 \
-M glib-2.66 \
-M gio-2.66 \
-M gmodule-2.66 \
-M gobject-2.66 \
-M gtk-3.24
```
Some files are still modified manually.
We constrained the units version to Bullseye (Debian 11.6) shipped
libraries.
They were generated using le following command:
```sh
gir2pas -P Laz -e Set -i /usr/share/gir-1.0/Gtk-3.0.gir -o gtk3-test-2 \
-M atk-2.36 \
-M pango-1.16 \
-M pangocairo-1.46 \
-M glib-2.66 \
-M gtk-3.24
```
Some files are still modified manually.
Some changes ware needed in `gtk3procs.pas` to define legacy macro
`PANGO_PIXELS` and to remove compilation warning.
This change fixes translation of enums and bit fields after recent fin
in `gir2pas` tool.
This required a code change in `gtk3cobject.inc` as some bit fields were
treated as enums while they are now treated as sets.
Units were generated using the following command on Debian Bookworm (12)
```sh
gir2pas -P Laz -e Set -i /usr/share/gir-1.0/Gtk-3.0.gir -o gtk3bindings
```
Then, some functions were removed manually to enable support of Debian
Bullseye (11.6).
When enum types is set as `goEnumAsSet` by user, we need to add
`goEnumAsEnum` also in order to correctly handle non bit fields enums.
This should be done at the very beginning, upon CLO handling, otherwise
some enums are generated as integer constants.
The function `cairo_stroke` causes the current path to be cleared from
the cairo context. Thus we loose the current position.
We replace is with `cairo_stroke_preserve` in order to preserves the
path within the cairo context.
This change migrates remaining GObject2 bit fields to Pascal sets.
This required a code change in `gtk3cellrenderes.pas` as integers could
not be cast into sets.
Units were generated using the following command on Debian Bookworm (12)
```sh
gir2pas -P Laz -e Set -i /usr/share/gir-1.0/Gtk-3.0.gir -o gtk3bindings
```
Then, some functions were removed manually to enable support of Debian
Bullseye (11.6).