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