Skip to content

RmlUi 4.4

Compare
Choose a tag to compare
@mikke89 mikke89 released this 13 May 14:59

Summer is approaching and I figured it's time for a new release! There are several improvements throughout the library, most notably to the font engine. You might also see some performance improvements when loading or interacting with a document, especially if you use a lot of RCSS style rules with class names. These are now just as fast to lookup as IDs and tags.

Much of this work has been done through contributions from users, and I'd like to thank all of you! In particular I've noticed that there are several new contributors this release, welcome and keep up the good work!

Fonts

  • Support for color emojis 🎉. #267
  • Support for loading fonts with multiple included font weights. #296 (thanks @MexUK)
  • The font-weight property now supports numeric values. #296 (thanks @MexUK)
  • The opacity property is now also applied to font effects. #270

Performance and resource management

  • Substantial performance improvement when looking up style rules with class names. Fixes some cases of low performance, see #293.
  • Reduced memory usage, more than halved the size of ComputedValues.
  • Added Rml::ReleaseFontResources to release unused font textures, cached glyph data, and related resources.
  • Release memory pools on Rml::Shutdown, or manually through the core API. #263 #265 (thanks @jack9267)

Layout

  • Fix offsets of relatively positioned elements with percentage positioning. #262
  • select element: Fix clipping on select box.

Data binding

  • Add DataModelHandle::DirtyAllVariables() to mark all variables in the data model as dirty. #289 (thanks @EhWhoAmI)

Cloning

  • Fix classes not always copied over to a cloned element. #264
  • Drag clones are now positioned correctly when their ancestors use transforms. #269
  • Drag clones no longer inherit backgrounds and decoration from the cloned element's document body.

Samples and plugins

  • New sample for integration with SDL2's native renderer. #252 (thanks @1bsyl)
  • Add width and height attributes to the <svg> element. #283 (thanks @EhWhoAmI)

Build improvements

  • CMake: Mark RmlCore dependencies as private. #274 (thanks @jonesmz)
  • CMake: Allow lunasvg library be found when located in builtin tree. #282 (thanks @EhWhoAmI)

Breaking changes

  • FontEngineInterface::GenerateString now takes an additional argument, opacity.
  • Computed values are now retrieved by function calls instead of member objects.

Path to RmlUi 5.0

There are some exciting developments toward RmlUi 5.0 happening already, please see the RmlUi 5.0 development and feedback post for more details. I'd love to hear your feedback. I intend to start merging these changes to master soon. There might be some breaking changes coming up but I don't expect anything major. Of course I'll keep documenting any breaking changes.


Screenshots

color_emojis

font-weights