MyGUI v3.4.1 Release Notes

  • Core

    • ๐Ÿ‘€ Implement new MSDF font, that lets use render huge fonts without having big textures, also allows using only one texture for all sizes (see Demo_MsdfFont)
    • โž• Add new eventWidgetDestroyed
    • โž• Add support for custom shaders for each render item, used for subskin (so far used only for MSDF fonts)
    • โž• Add support for Unicode code points outside of the Basic Multilingual Plane (code points above 216, represented by two UTF-16 code units)
    • ๐Ÿ‘ Allow std::function in the MyGUI::newDelegate
    • ๐Ÿ‘ Allow const functions and const classes in the MyGUI::newDelegate
    • ๐Ÿ‘‰ Make most getters const
    • ๐Ÿ›  Fix UB in RotatingSkin::_rebuildGeometry when all vertices are cropped
    • ๐Ÿ›  Fix eventMouseButtonClick being triggered even when mouse is pressed not over widget
    • ๐Ÿ›  Fix InputManager::injectMouseMove returning true when mouse is pressed, but there is no focused widget
    • ๐Ÿ›  Fix bug with Popup widget being picked by mouse, when it is invisible because of invisible parent
    • ๐Ÿ›  Fix Widget::setDepth call making Overlapped child widgets not visible

    Widgets

    • ListBox: fix getWidgetByIndex when not all widgets are visible
    • EditBox: fix getFontHeight always returning 0
    • EditBox: fix rare bug with text selection when holding mouse and changing text
    • EditBox: fix scroll position when selecting text below
    • ๐Ÿ›  Button: make Button without "normal_checked" skin display "pushed" skin (fixes button visual state when setStateSelected(true) is called)
    • ๐Ÿšš Window: add borders snapping, when resizing it (previously only move was snapping borders)

    Platforms

    • Ogre:
      • make it possible to use OGRE_RESOURCEMANAGER_STRICT=1 mode (always specify resource group)
      • other minor performance improvements
      • use Ogre::Renderable to render Gui, this fixes several issues with recent Ogre version
      • fix RTT render with RenderSystem_DirectX11
    • โšก๏ธ All: make all interfaces const-correct. Warning: custom render platforms outside of MyGUI repo must be updated to match new virtual functions API

    Demos and Tools

    • โž• Add new SdlBaseManager, that is used for all platforms base code instead of multiple BaseManager-s with duplicate code
    • โœ‚ Remove no longer needed and no longer used OIS, Win32 and Win32+OIS input systems only SDL2 can is used in demos now

    Tools

    • ๐Ÿ‘ LayoutEditor: fix multi language support

    Demos

    • ๐Ÿ†• New Demo_MsdfFont
    • โœ… Make all demos with 3d render work with the latest Ogre

    Other

    • ๐Ÿ‘‰ Use GNUInstallDirs to determine where libraries should be installed
    • ๐Ÿ‘‰ Use precompiled headers from CMake 3.16, enable precompiled headers on all target platforms
    • โœ‚ Remove many outdated or not used CMake options and scripts