This is the third post in a series of reports on the progress of GTK 4 Rust Bindings. You can find project links and repositories on the about page.

gtk4-rs, by now, should be relatively complete, with a few remaining functions to manually investigate and implement. All additions listed below are imported to the other crates as well if needed.

gtk4-rs

  • AccelMap::foreach() and AccelMap::foreach_unfiltered() are implemented.
  • Actionable::set_action_target() is implemented and upstreamed to gtk3.
  • Builder::connect_signals_full() is implemented. This addition will make it possible to designate which signal handler to use in builder files. It’s planned to be upstreamed to gtk3 too.
  • Editable::delegate_get_property() and Editable::delegate_set_property() are implemented.
  • Text signals are implemented.

gdk4-rs

  • Geometry is implemented.
  • KeymapKey is implemented.
  • Rectangle is implemented and added to gtk4-rs.
  • TimeCoord is implemented and added to gtk4-rs.

gsk4-rs

  • ColorStop is implemented and added to gtk4-rs.
  • RenderNode is implemented and added to gtk4-rs. It uses an ad hoc subtyping system for different types of render nodes, similar to cairo patterns.
  • RoundedRect is implemented and added to gtk4-rs.
  • Shadow is implemented and added to gtk4-rs.