Skip to content

RmlUi 4.3

Compare
Choose a tag to compare
@mikke89 mikke89 released this 11 Dec 12:29

Time for a new release now that we are approaching the end of the year. This release comes with a widely requested feature, flexbox support! This feature has been in the works for a few months now, hope it comes handy when designing your layouts. In addition, we have many smaller improvements and bug fixes for some quality-of-life enhancements.

Again we have several contributions from the community helping out with pull requests. Special thanks to all of you, and keep up the good work!

Flexbox layout

Support for flexible box layout. #182 #257

display: flex;

See usage examples, differences from CSS, performance tips, and all the details in the flexbox documentation.

Flexbox

Elements

  • select element:
    • Emit change event even when the value of the newly selected option is the same.
    • Do not wrap around when using up/down keys on options.
    • Fix unintentional clipping of the scrollbar.
  • tabset element: Fix index parameter having no effect in ElementTabSet::SetPanel and ElementTabSet::SetTab. #237 #246 (thanks @nimble0)

RCSS

  • Add (non-standard) property value clip: always to force clipping to the element, see clip documentation. #235 #251 (thanks @MatthiasJFM)
  • Escape character changed from forward slash to backslash \ to align with CSS.

Layout improvements

  • See flexbox layout support above.
  • Fix an issue where some elements could end up rendered at the wrong offset after scrolling. #230
  • Improve behavior for collapsing negative vertical margins.
  • Pixel rounding improvements to the clip region.
  • Performance improvement: Avoid unnecesssary extra layouting step in some situations when scrollbars are added.

Samples

  • Add clipboard support to X11 samples. #231 (thanks @barotto)
  • Windows shell: Fix OpenGL error on startup.

Tests

  • Visual tests suite: Add ability to overlay the previous reference capture of the test using the shortcut Ctrl+Q.
  • Add support for CSS flexbox tests to the CSS tests converter.

Lua plugin

  • Make Lua plugin API consistently one-indexed instead of zero-indexed. #237 #247 (thanks @nimble0)
  • Fix crash due to double delete in the Lua plugin. #216

Dependencies

  • Update LunaSVG plugin for compatibility with v2.3.0. #232
  • Warn when using FreeType 2.11.0 with the MSVC compiler, as this version introduced an issue leading to crashes.

Build improvements

  • Fix log message format string when compiling in debug mode. #234 (thanks @barotto)
  • Avoid enum name collisions with Windows header macros. #258

Breaking changes

  • The clip property is now non-inherited. Users may need to update their RCSS selectors to achieve the same clipping behavior as previously when using this property.
  • Minor changes to the clipping behavior when explicitly using the clip property, may lead to different results in some circumstances.
  • RCSS escape character is now \ instead of /.
  • Lua plugin: Some scripts may need to be changed from using zero-based indexing to one-indexing.